Skip to content

Commit d492a19

Browse files
committed
ci: use matrix strategy for building binaries through bake
Signed-off-by: CrazyMax <[email protected]>
1 parent 27d13fa commit d492a19

File tree

1 file changed

+30
-11
lines changed

1 file changed

+30
-11
lines changed

.github/workflows/ci.yml

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,27 +50,46 @@ jobs:
5050
with:
5151
targets: ${{ matrix.target }}
5252

53-
build:
54-
needs:
55-
- validate
53+
prepare-binaries:
5654
runs-on: ubuntu-latest
55+
outputs:
56+
includes: ${{ steps.generate.outputs.matrix }}
5757
steps:
5858
- name: Checkout
5959
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
6060

61-
- name: Set up Go
62-
uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5.5.0
61+
- name: Generate matrix
62+
id: generate
63+
uses: docker/bake-action/subaction/matrix@3acf805d94d93a86cce4ca44798a76464a75b88c # v6.9.0
6364
with:
64-
go-version: "1.25.0"
65-
cache: true
65+
target: release
66+
fields: platforms
6667

67-
- name: Install Task
68-
uses: go-task/setup-task@0ab1b2a65bc55236a3bc64cde78f80e20e8885c2 # v1.0.0
68+
binaries:
69+
needs:
70+
- prepare-binaries
71+
- validate
72+
runs-on: ubuntu-latest
73+
strategy:
74+
fail-fast: false
75+
matrix:
76+
include: ${{ fromJson(needs.prepare-binaries.outputs.includes) }}
77+
steps:
78+
- name: Checkout
79+
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
6980
with:
70-
version: 3.x
81+
fetch-depth: 0
82+
83+
- name: Set up Docker Buildx
84+
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # v3.11.1
7185

7286
- name: Build
73-
run: task build
87+
uses: docker/bake-action@v6
88+
with:
89+
source: .
90+
targets: release
91+
set: |
92+
*.platform=${{ matrix.platforms }}
7493
7594
build-image:
7695
needs:

0 commit comments

Comments
 (0)