11name : Create vaccel firecracker release
22
33on :
4- push :
5- tags :
6- - vaccel-v*
4+ workflow_dispatch :
5+ inputs :
6+ tag :
7+ description : " Tag to create release for"
8+ required : true
9+ default : ' warning'
710
811jobs :
912 build :
10- runs-on : [ self-hosted, "${{ matrix.arch }}" ]
11-
12- env :
13- ARCHI : ${{ matrix.arch }}
14-
15- strategy :
16- matrix :
17- arch : [x86_64, aarch64]
18-
13+ runs-on : [ self-hosted ]
1914
2015 steps :
2116 - name : Checkout code
@@ -24,29 +19,44 @@ jobs:
2419 - name : Find tag
2520 run : echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
2621
27- - name : Build firecracker
28- run : ./tools/devtool -y build -l gnu --release
29-
30- - name : Create release
31- id : create_release
32- uses : actions/create-release@v1
33- env :
34- GITHUB_TOKEN : ${{ secrets.NBFC_BUILDER_TOKEN }}
22+ - name : Find SHA
23+ run : |
24+ if [[ "${{github.event.pull_request.head.sha}}" != "" ]]
25+ then
26+ echo "ARTIFACT_SHA=$(echo ${{github.event.pull_request.head.sha}})" >> $GITHUB_ENV
27+ else
28+ echo "ARTIFACT_SHA=$(echo ${{github.sha}})" >> $GITHUB_ENV
29+ fi
30+
31+ - name : Download FC artifact-aarch64
32+ id : download-artifact-aarch64
33+ uses : cloudkernels/minio-download@v2
3534 with :
36- tag_name : ${{ github.ref }}
37- release_name : Release firecracker-vaccel-${{ github.ref }}
38- body : |
39- vaccel-enabled Firecracker
40- draft : false
41- prerelease : false
42-
43- - name : Upload release asset
44- id : upload-release-asset
45- uses : actions/upload-release-asset@v1
35+ url : https://s3.nubificus.co.uk
36+ access-key : ${{ secrets.AWS_ACCESS_KEY }}
37+ secret-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
38+ local-path : /github/workspace/release/firecracker-vaccel-aarch64
39+ remote-path : nbfc-assets/github/firecracker/${{ env.ARTIFACT_SHA }}/aarch64/release/firecracker
40+
41+ - name : Download FC artifact-x86_64
42+ id : download-artifact-x86
43+ uses : cloudkernels/minio-download@v2
44+ with :
45+ url : https://s3.nubificus.co.uk
46+ access-key : ${{ secrets.AWS_ACCESS_KEY }}
47+ secret-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
48+ local-path : /github/workspace/release/firecracker-vaccel-x86_64
49+ remote-path : nbfc-assets/github/firecracker/${{ env.ARTIFACT_SHA }}/x86_64/release/firecracker
50+
51+
52+ - name : Create Release
53+ uses : marvinpinto/action-automatic-releases@latest
4654 env :
47- GITHUB_TOKEN : ${{ secrets.NBFC_BUILDER_TOKEN }}
55+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
4856 with :
49- upload_url : ${{ steps.create_release.outputs.upload_url }}
50- asset_path : ./build/cargo_target/${{env.ARCHI}}-unknown-linux-gnu/release/firecracker
51- asset_name : firecracker-vaccel-${{env.ARCHI}}
52- asset_content_type : application/zip
57+ repo_token : ${{secrets.GITHUB_TOKEN}}
58+ automatic_release_tag : ${{ github.event.inputs.tag }}
59+ title : " vAccel FC release ${{github.event.inputs.tag}}"
60+ files : |
61+ release/firecracker-vaccel-aarch64
62+ release/firecracker-vaccel-x86_64
0 commit comments