Skip to content

Commit 16be036

Browse files
authored
Update GitHub workflows to support multi-platform builds (#341)
* Update GitHub workflows to support multi-platform builds for API server, dashboard, landing page, and state manager. Added support for linux/amd64 and linux/arm64 platforms in the publish and release workflows. * Enhance GitHub workflows by adding QEMU setup for multi-platform builds and enabling provenance and SBOM generation for published images across API server, dashboard, landing page, and state manager workflows. * Integrate QEMU setup for multi-platform builds in release-state-manager workflow and enable provenance and SBOM generation for published images.
1 parent d3cdb84 commit 16be036

6 files changed

Lines changed: 46 additions & 0 deletions

File tree

.github/workflows/publish-api-server.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ jobs:
3030
steps:
3131
- uses: actions/checkout@v4
3232

33+
- name: Set up QEMU
34+
uses: docker/setup-qemu-action@v3
35+
with:
36+
platforms: arm64
37+
3338
- uses: docker/setup-buildx-action@v3
3439

3540
- name: Log in to GHCR
@@ -53,8 +58,11 @@ jobs:
5358
with:
5459
context: ./api-server
5560
push: true
61+
platforms: linux/amd64,linux/arm64
5662
tags: ${{ steps.meta.outputs.tags }}
5763
labels: ${{ steps.meta.outputs.labels }}
64+
provenance: true
65+
sbom: true
5866

5967
deploy-to-k8s:
6068
needs: publish-image

.github/workflows/publish-dashboard.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ jobs:
3030
steps:
3131
- uses: actions/checkout@v4
3232

33+
- name: Set up QEMU
34+
uses: docker/setup-qemu-action@v3
35+
with:
36+
platforms: arm64
37+
3338
- uses: docker/setup-buildx-action@v3
3439

3540
- name: Log in to GHCR
@@ -53,5 +58,8 @@ jobs:
5358
with:
5459
context: ./dashboard
5560
push: true
61+
platforms: linux/amd64,linux/arm64
5662
tags: ${{ steps.meta.outputs.tags }}
5763
labels: ${{ steps.meta.outputs.labels }}
64+
provenance: true
65+
sbom: true

.github/workflows/publish-landing-page.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ jobs:
3030
steps:
3131
- uses: actions/checkout@v4
3232

33+
- name: Set up QEMU
34+
uses: docker/setup-qemu-action@v3
35+
with:
36+
platforms: arm64
37+
3338
- uses: docker/setup-buildx-action@v3
3439

3540
- name: Log in to GHCR
@@ -54,6 +59,7 @@ jobs:
5459
with:
5560
context: ./landing-page
5661
push: true
62+
platforms: linux/amd64,linux/arm64
5763
tags: ${{ steps.meta.outputs.tags }}
5864
labels: ${{ steps.meta.outputs.labels }}
5965

.github/workflows/publish-state-mangaer.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,11 @@ jobs:
8787
steps:
8888
- uses: actions/checkout@v4
8989

90+
- name: Set up QEMU
91+
uses: docker/setup-qemu-action@v3
92+
with:
93+
platforms: arm64
94+
9095
- uses: docker/setup-buildx-action@v3
9196

9297
- name: Log in to GHCR
@@ -110,5 +115,8 @@ jobs:
110115
with:
111116
context: ./state-manager
112117
push: true
118+
platforms: linux/amd64,linux/arm64
113119
tags: ${{ steps.meta.outputs.tags }}
114120
labels: ${{ steps.meta.outputs.labels }}
121+
provenance: true
122+
sbom: true

.github/workflows/release-dashboard.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ jobs:
2525
steps:
2626
- uses: actions/checkout@v4
2727

28+
- name: Set up QEMU
29+
uses: docker/setup-qemu-action@v3
30+
with:
31+
platforms: arm64
32+
2833
- uses: docker/setup-buildx-action@v3
2934

3035
- name: Log in to GHCR
@@ -51,5 +56,8 @@ jobs:
5156
with:
5257
context: ./dashboard
5358
push: true
59+
platforms: linux/amd64,linux/arm64
5460
tags: ${{ steps.meta.outputs.tags }}
5561
labels: ${{ steps.meta.outputs.labels }}
62+
provenance: true
63+
sbom: true

.github/workflows/release-state-manager.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,11 @@ jobs:
8080
steps:
8181
- uses: actions/checkout@v4
8282

83+
- name: Set up QEMU
84+
uses: docker/setup-qemu-action@v3
85+
with:
86+
platforms: arm64
87+
8388
- uses: docker/setup-buildx-action@v3
8489

8590
- name: Log in to GHCR
@@ -106,5 +111,8 @@ jobs:
106111
with:
107112
context: ./state-manager
108113
push: true
114+
platforms: linux/amd64,linux/arm64
109115
tags: ${{ steps.meta.outputs.tags }}
110116
labels: ${{ steps.meta.outputs.labels }}
117+
provenance: true
118+
sbom: true

0 commit comments

Comments
 (0)