@@ -2,14 +2,21 @@ name: FC Versions
22
33on :
44 push :
5+ workflow_dispatch :
56
67permissions :
78 id-token : write
89 contents : write
910
1011jobs :
12+ # Run parallel builds via reusable workflow
13+ build :
14+ uses : ./.github/workflows/build.yml
15+
16+ # Collect artifacts and publish
1117 publish :
12- name : Build Firecracker and upload
18+ name : Collect and upload builds
19+ needs : build
1320 runs-on : ubuntu-22.04
1421 steps :
1522 - name : Checkout repository
@@ -47,23 +54,24 @@ jobs:
4754 - name : Test next version
4855 run : echo "Next version is ${{ steps.get-version.outputs.version }}"
4956
57+ # Download all build artifacts
58+ - name : Download all build artifacts
59+ uses : actions/download-artifact@v4
60+ with :
61+ path : builds
62+ pattern : firecracker-*
63+ merge-multiple : true
64+
65+ - name : List downloaded builds
66+ run : find builds -type f | head -20
67+
5068 - name : Setup Service Account
69+ if : github.ref_name == 'main'
5170 uses : google-github-actions/auth@v2
5271 with :
5372 project_id : ${{ secrets.GCP_PROJECT_ID }}
5473 workload_identity_provider : ${{ secrets.GCP_WORKLOAD_IDENTITY_PROVIDER }}
5574
56- - name : Build firecrackers
57- run : sudo make build
58-
59- - name : Upload firecrackers as artifact
60- if : github.ref_name != 'main'
61- uses : actions/upload-artifact@v4
62- with :
63- name : firecracker-${{ github.run_id }}
64- path : ./builds
65- retention-days : 7
66-
6775 - name : Upload firecrackers to GCS
6876 if : github.ref_name == 'main'
6977 uses : " google-github-actions/upload-cloud-storage@v1"
8391 env :
8492 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
8593
86-
8794 - name : Prepare release assets
8895 if : github.ref_name == 'main'
8996 run : |
0 commit comments