gpu-dawn: begin publishing prebuilt binaries
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
This commit is contained in:
parent
485d82899a
commit
1807e7b2f3
4 changed files with 58 additions and 18 deletions
31
gpu-dawn/.github/workflows/ci.yml
vendored
31
gpu-dawn/.github/workflows/ci.yml
vendored
|
|
@ -1,9 +1,12 @@
|
|||
name: CI
|
||||
on:
|
||||
- push
|
||||
- pull_request
|
||||
workflow_run:
|
||||
workflows: ["Draft release"]
|
||||
types:
|
||||
- completed
|
||||
jobs:
|
||||
x86_64-linux:
|
||||
needs: release-draft
|
||||
runs-on: ubuntu-latest
|
||||
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push
|
||||
# to the branch.
|
||||
|
|
@ -17,8 +20,13 @@ jobs:
|
|||
sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.9.0-dev.2023+16b753549.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
|
||||
- name: Clone mach-glfw
|
||||
run: rm libs/mach-glfw && git clone https://github.com/hexops/mach-glfw libs/mach-glfw
|
||||
- name: test
|
||||
run: zig build test && find zig-out/
|
||||
- name: install
|
||||
run: zig build install && find zig-out/
|
||||
- name: upload
|
||||
run: |
|
||||
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_x86_64-linux.a
|
||||
gzip -9 zig-out/lib/libdawn_x86_64-linux.a
|
||||
gh release upload $(git rev-parse --short HEAD) zig-out/lib/libdawn_x86_64-linux.a
|
||||
# TODO(build-system): enable windows CI here once gpu-dawn builds under Windows
|
||||
# x86_64-windows:
|
||||
# runs-on: windows-latest
|
||||
|
|
@ -36,9 +44,11 @@ jobs:
|
|||
# cd C:\
|
||||
# 7z x zig.zip
|
||||
# Add-Content $env:GITHUB_PATH "C:\zig-windows-x86_64-0.9.0-dev.2023+16b753549\"
|
||||
# - name: test
|
||||
# run: zig build test && find zig-out/
|
||||
# - name: install
|
||||
# run: zig build install && find zig-out/
|
||||
# # TODO: upload step for Windows
|
||||
x86_64-macos:
|
||||
needs: release-draft
|
||||
runs-on: macos-latest
|
||||
# We want to run on external PRs, but not on our own internal PRs as they'll be run by the push
|
||||
# to the branch.
|
||||
|
|
@ -52,7 +62,12 @@ jobs:
|
|||
sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-x86_64-0.9.0-dev.2023+16b753549.tar.xz -O - | tar -xJ --strip-components=1 -C /usr/local/bin'
|
||||
- name: Clone mach-glfw
|
||||
run: rm libs/mach-glfw && git clone https://github.com/hexops/mach-glfw libs/mach-glfw
|
||||
- name: test
|
||||
run: zig build test && find zig-out/
|
||||
- name: install
|
||||
run: zig build install && find zig-out/
|
||||
env:
|
||||
AGREE: true
|
||||
- name: upload
|
||||
run: |
|
||||
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_x86_64-macos.a
|
||||
gzip -9 zig-out/lib/libdawn_x86_64-macos.a
|
||||
gh release upload $(git rev-parse --short HEAD) zig-out/lib/libdawn_x86_64-macos.a
|
||||
|
|
|
|||
11
gpu-dawn/.github/workflows/draft_release.yml
vendored
Normal file
11
gpu-dawn/.github/workflows/draft_release.yml
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
name: Draft release
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
jobs:
|
||||
draft:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Create draft
|
||||
run: gh release create $(git rev-parse --short HEAD) --title "Automatic release of main @ $(git rev-parse --short HEAD)"
|
||||
22
gpu-dawn/.github/workflows/m1_ci.yml
vendored
22
gpu-dawn/.github/workflows/m1_ci.yml
vendored
|
|
@ -1,12 +1,9 @@
|
|||
name: CI
|
||||
name: CI M1
|
||||
on:
|
||||
# SECURITY: This must be a push event only, otherwise our M1 mac runner would be compromised by
|
||||
# third-party pull requests which could run arbitrary code. This way, we can restrict it to
|
||||
# collaborators of the repository only.
|
||||
#
|
||||
# Whenever GitHub Actions gets official M1 support, we can use that for PRs and get rid of this
|
||||
# self-hosted runner: https://github.com/actions/virtual-environments/issues/2187
|
||||
- push
|
||||
workflow_run:
|
||||
workflows: ["Draft release"]
|
||||
types:
|
||||
- completed
|
||||
jobs:
|
||||
aarch64-macos:
|
||||
runs-on: [self-hosted, macOS, ARM64]
|
||||
|
|
@ -21,7 +18,12 @@ jobs:
|
|||
zig version
|
||||
- name: Clone mach-glfw
|
||||
run: rm libs/mach-glfw && git clone https://github.com/hexops/mach-glfw libs/mach-glfw
|
||||
- name: test
|
||||
run: zig build test && find zig-out/
|
||||
- name: install
|
||||
run: zig build install && find zig-out/
|
||||
env:
|
||||
AGREE: true
|
||||
- name: upload
|
||||
run: |
|
||||
mv zig-out/lib/libdawn.a zig-out/lib/libdawn_aarch64-macos.a
|
||||
gzip -9 zig-out/lib/libdawn_aarch64-macos.a
|
||||
gh release upload $(git rev-parse --short HEAD) zig-out/lib/libdawn_aarch64-macos.a
|
||||
|
|
|
|||
12
gpu-dawn/.github/workflows/publish_release.yml
vendored
Normal file
12
gpu-dawn/.github/workflows/publish_release.yml
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
name: Publish release
|
||||
on:
|
||||
workflow_run:
|
||||
workflows: ["CI", "CI M1"]
|
||||
types:
|
||||
- completed
|
||||
jobs:
|
||||
draft:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Publish release
|
||||
run: echo "TODO(build-system): gh CLI has no way to mark draft as published?"
|
||||
Loading…
Add table
Add a link
Reference in a new issue