Browse Source

GitHub workflow: upload binaries when release is created

Petteri Aimonen 3 years ago
parent
commit
72da170894
1 changed files with 11 additions and 7 deletions
  1. 11 7
      .github/workflows/firmware_build.yml

+ 11 - 7
.github/workflows/firmware_build.yml

@@ -3,6 +3,8 @@ name: Build AzulSCSI firmware
 on: 
   push:
   workflow_dispatch:
+  release:
+    types: [created]
 
 jobs:
   build_firmware:
@@ -36,13 +38,6 @@ jobs:
           path: AzulSCSI/distrib/*
           name: AzulSCSI binaries
       
-      - name: Remove old binaries from release
-        env:
-          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        if: github.ref == 'refs/heads/main'
-        run: |
-          gh api repos/${GITHUB_REPOSITORY}/releases/tags/latest | jq -r '.assets[] | [.url] | @tsv' | xargs -n 1 gh api -X DELETE || true
-
       - name: Upload to latest release
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -53,5 +48,14 @@ jobs:
           git tag latest
           git push origin --force latest
           cd distrib
+          gh api repos/${GITHUB_REPOSITORY}/releases/tags/latest | jq -r '.assets[] | [.url] | @tsv' | xargs -n 1 gh api -X DELETE || true
           gh release upload --repo ${GITHUB_REPOSITORY} --clobber latest *
 
+      - name: Upload to newly created release
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        if: ${{ startsWith(github.ref, 'refs/tags/') }}
+        run: |
+          cd AzulSCSI/distrib
+          RELEASE=$(basename ${{github.ref}})
+          gh release upload --repo ${GITHUB_REPOSITORY} $RELEASE *