I'm not sure including the OS and libc version in download URLs makes much sense. It may be useful to include them as metadata in the future alongside the release, but it seems better to exclude these from the URL (especially so that others can download them from a script without fear of them changing for non-Zig consumption.) Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
115 lines
5.3 KiB
YAML
115 lines
5.3 KiB
YAML
name: CI
|
|
on:
|
|
workflow_run:
|
|
workflows: ["Draft release"]
|
|
types:
|
|
- completed
|
|
jobs:
|
|
x86_64-linux_debug:
|
|
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.
|
|
if: github.event.workflow_run.conclusion == 'success' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Setup Zig
|
|
run: |
|
|
sudo apt install xz-utils
|
|
sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.670+e1a535360.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: install (debug)
|
|
run: zig build install -Ddawn-from-source=true -Dtarget=x86_64-linux-gnu
|
|
- name: upload (debug)
|
|
run: ./dev/upload-release.sh
|
|
env:
|
|
RELEASE_NAME: x86_64-linux-gnu_debug
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
x86_64-linux_release-fast:
|
|
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.
|
|
if: github.event.workflow_run.conclusion == 'success' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Setup Zig
|
|
run: |
|
|
sudo apt install xz-utils
|
|
sudo sh -c 'wget -c https://ziglang.org/builds/zig-linux-x86_64-0.10.0-dev.670+e1a535360.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: install (release-fast)
|
|
run: zig build install -Ddawn-from-source=true -Drelease-fast=true -Dtarget=x86_64-linux-gnu
|
|
- name: upload (release-fast)
|
|
run: ./dev/upload-release.sh
|
|
env:
|
|
RELEASE_NAME: x86_64-linux-gnu_release-fast
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
# TODO(build-system): enable windows CI here once gpu-dawn builds under Windows
|
|
# x86_64-windows:
|
|
# runs-on: windows-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.
|
|
# if: github.event.workflow_run.conclusion == 'success' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
|
|
# steps:
|
|
# - name: Checkout
|
|
# uses: actions/checkout@v2
|
|
# - name: Install Git
|
|
# run: choco install git
|
|
# - name: Setup Zig
|
|
# run: |
|
|
# Invoke-WebRequest -Uri "https://ziglang.org/builds/zig-windows-x86_64-0.10.0-dev.670+e1a535360.zip" -OutFile "C:\zig.zip"
|
|
# cd C:\
|
|
# 7z x zig.zip
|
|
# Add-Content $env:GITHUB_PATH "C:\zig-windows-x86_64-0.10.0-dev.670+e1a535360\"
|
|
# - name: install (debug)
|
|
# run: zig build install -Ddawn-from-source=true -Dtarget=x86_64-windows
|
|
# # TODO: upload step for Windows
|
|
x86_64-macos_debug:
|
|
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.
|
|
if: github.event.workflow_run.conclusion == 'success' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Setup Zig
|
|
run: |
|
|
brew install xz
|
|
sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-x86_64-0.10.0-dev.670+e1a535360.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: install (debug)
|
|
run: zig build install -Ddawn-from-source=true -Dtarget=x86_64-macos.12-gnu
|
|
env:
|
|
AGREE: true
|
|
- name: upload (debug)
|
|
run: ./dev/upload-release.sh
|
|
env:
|
|
RELEASE_NAME: x86_64-macos-gnu_debug
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
x86_64-macos_release-fast:
|
|
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.
|
|
if: github.event.workflow_run.conclusion == 'success' && (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository)
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
- name: Setup Zig
|
|
run: |
|
|
brew install xz
|
|
sudo sh -c 'wget -c https://ziglang.org/builds/zig-macos-x86_64-0.10.0-dev.670+e1a535360.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: install (release-fast)
|
|
run: zig build install -Ddawn-from-source=true -Drelease-fast=true -Dtarget=x86_64-macos.12-gnu
|
|
env:
|
|
AGREE: true
|
|
- name: upload (release-fast)
|
|
run: ./dev/upload-release.sh
|
|
env:
|
|
RELEASE_NAME: x86_64-macos-gnu_release-fast
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|