Publish release #483
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish release | |
on: | |
workflow_run: | |
workflows: ["CI"] | |
types: | |
- completed | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
publish: | |
if: ${{ github.event.workflow_run.conclusion == 'success' }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Record latest release version | |
id: recorded_release_version | |
# Note: we find the latest non-'update to latest binary release' commit here, which is not | |
# necessarily HEAD because another build could have succeeded before us and HEAD may now refer | |
# to 'update to latest binary release' instead of the commit we were building. | |
# By doing this, we ensure any update we push would refer to the absolute latest binary | |
# release even if *this* CI run is older. | |
run: echo "recorded_release_version=$(git log --oneline | grep -v 'update to latest binary release' | head -n1 | cut -d " " -f1)" >> $GITHUB_ENV | |
# - name: Publish release | |
# run: echo "TODO(build-system): gh CLI has no way to mark draft as published?" | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Checkout hexops/mach-gpu-dawn repo | |
uses: actions/checkout@v2 | |
with: | |
repository: hexops/mach-gpu-dawn | |
token: ${{ secrets.HEXOPS_MACH_GPU_DAWN_PUSH }} | |
- name: 'update hard-coded binary release version' | |
env: | |
RELEASE_COMMIT: ${{env.recorded_release_version}} | |
run: | | |
sed -i "/binary_version: \[\]const u8 =/c\ binary_version: []const u8 = \"release-$RELEASE_COMMIT\"," ./build.zig | |
- name: 'gpu/dawn: use latest binary release' | |
run: | | |
git config user.name 'Release automation' | |
git config user.email '[email protected]' | |
git add . | |
git commit -m 'update to latest binary release' | |
git push -u origin HEAD |