Skip to content

Commit 2194bee

Browse files
committed
Use release matrix
1 parent 5ecb8c8 commit 2194bee

File tree

1 file changed

+26
-38
lines changed

1 file changed

+26
-38
lines changed

.github/workflows/release.yml

Lines changed: 26 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,12 @@ on:
77
description: 'Release version'
88
required: true
99
jobs:
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

Comments
 (0)