77 description : ' Release version'
88 required : true
99jobs :
10- build :
11- name : Build and Release
12- runs-on : ubuntu-24.04
10+ create_release :
11+ name : Create release
12+ runs-on : ubuntu-latest
13+ outputs :
14+ upload_url : ${{ steps.create_release.outputs.upload_url }}
1315 steps :
14- - name : Check out code
15- uses : actions/checkout@v4
16- - name : Install deps
17- run : |
18- sudo apt-get install -y libcurl4-openssl-dev
19- sudo /usr/bin/ruby3.2 /usr/bin/gem install rack
20- - name : Build Binary
21- run : make build
22- - name : Check files
23- run : ls
2416 - name : Create Release
2517 id : create_release
2618 uses : actions/create-release@v1
@@ -31,34 +23,30 @@ jobs:
3123 release_name : Release ${{ github.event.inputs.version }}
3224 draft : false
3325 prerelease : false
34- - name : Upload Release Asset AMD64
35- id : upload-release-asset-amd64
26+ release_assets :
27+ name : Release assets
28+ needs : create_release # we need to know the upload URL
29+ runs-on : ${{ matrix.config.os }} # we run many different builds
30+ strategy :
31+ matrix :
32+ config :
33+ - os : ubuntu-24.04
34+ - os : ubuntu-24.04-arm
35+ steps :
36+ - name : Checkout code
37+ uses : actions/checkout@v4
38+ - name : Install deps
39+ run : |
40+ sudo apt-get install -y libcurl4-openssl-dev
41+ sudo /usr/bin/ruby3.2 /usr/bin/gem install rack
42+ - name : Build Binary
43+ run : make build
44+ - name : Upload release assets
3645 uses : actions/upload-release-asset@v1
3746 env :
3847 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
3948 with :
40- upload_url : ${{ steps.create_release.outputs.upload_url }}
49+ upload_url : ${{ needs.create_release.outputs.upload_url }}
50+ asset_name : nginx-builder-artifacts-${{ matrix.config.os }}
4151 asset_path : nginx-builder.tar.gz
42- asset_name : nginx-builder-amd64.tar.gz
4352 asset_content_type : application/octet-stream
44- build-arm64 :
45- name : Build C++ (ARM64)
46- runs-on : ubuntu-24.04-arm
47- steps :
48- - name : Check out code
49- uses : actions/checkout@v4
50- - name : Install deps
51- run : |
52- sudo apt-get install -y libcurl4-openssl-dev
53- sudo /usr/bin/ruby3.2 /usr/bin/gem install rack
54- - name : Build Binary (ARM64)
55- run : make build
56- - name : Upload Release Asset (ARM64)
57- uses : actions/upload-release-asset@v1
58- env :
59- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
60- with :
61- upload_url : ${{ steps.create_release.outputs.upload_url }}
62- asset_path : nginx-builder.tar.gz
63- asset_name : nginx-builder-arm64.tar.gz
64- asset_content_type : application/octet-stream
0 commit comments