Skip to content

Commit ca6e8ce

Browse files
committed
feat: enable arm support
- Build arm64 build for main branch. - Enable bpfvalidator to run on arm system - Release multi-arch images for arm. - Publish arm64 attestation. Signed-off-by: Sam Wang (holyspectral) <sam.wang@suse.com>
1 parent 92d5cb5 commit ca6e8ce

4 files changed

Lines changed: 41 additions & 7 deletions

File tree

.github/workflows/bpf_test.yml

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,18 @@ on:
77
jobs:
88
test:
99
name: test-${{ matrix.arch }}
10-
runs-on: ${{ (matrix.arch == 'arm64' && 'ubuntu-24.04-arm') || 'ubuntu-24.04' }}
10+
runs-on: ${{ matrix.runner }}
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
arch: [amd64]
14+
arch: [amd64, arm64]
15+
include:
16+
- arch: amd64
17+
runner: ubuntu-24.04
18+
platform: linux/amd64
19+
- arch: arm64
20+
runner: ubuntu-24.04-arm
21+
platform: linux/arm64
1522
steps:
1623
- name: Checkout
1724
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

.github/workflows/container-build.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@ jobs:
1414
strategy:
1515
matrix:
1616
component: [operator, agent]
17-
arch: [amd64]
17+
arch: [amd64, arm64]
1818
include:
1919
- arch: amd64
2020
runner: ubuntu-latest
2121
platform: linux/amd64
22+
- arch: arm64
23+
runner: ubuntu-24.04-arm
24+
platform: linux/arm64
2225
permissions:
2326
contents: read
2427
packages: write # Pushing images to ghcr.io
@@ -51,7 +54,7 @@ jobs:
5154
- name: Merge images
5255
uses: ./.github/actions/merge-multiarch
5356
with:
54-
arch: amd64
57+
arch: amd64,arm64
5558
image: ${{ matrix.component }}
5659
repo: ${{ github.repository }}
5760
tag: latest

.github/workflows/release.yml

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,14 @@ jobs:
1010
strategy:
1111
matrix:
1212
component: [operator, agent]
13-
arch: [amd64]
13+
arch: [amd64, arm64]
1414
include:
1515
- arch: amd64
1616
runner: ubuntu-latest
1717
platform: linux/amd64
18+
- arch: arm64
19+
runner: ubuntu-24.04-arm
20+
platform: linux/arm64
1821
permissions:
1922
contents: read # Access private repos
2023
packages: write
@@ -47,7 +50,7 @@ jobs:
4750
- name: Merge images
4851
uses: ./.github/actions/merge-multiarch
4952
with:
50-
arch: amd64
53+
arch: amd64,arm64
5154
image: ${{ matrix.component }}
5255
repo: ${{ github.repository }}
5356
tag: ${{ github.ref_name }}
@@ -57,11 +60,14 @@ jobs:
5760
strategy:
5861
matrix:
5962
component: [operator, agent]
60-
arch: [amd64]
63+
arch: [amd64, arm64]
6164
include:
6265
- arch: amd64
6366
runner: ubuntu-latest
6467
platform: linux/amd64
68+
- arch: arm64
69+
runner: ubuntu-24.04-arm
70+
platform: linux/arm64
6571
needs: [merge]
6672
permissions:
6773
contents: read # Access private repos
@@ -129,6 +135,15 @@ jobs:
129135
'RuntimeEnforcer-operator-attestation-amd64-provenance.intoto.jsonl.bundle.sigstore',
130136
'RuntimeEnforcer-operator-attestation-amd64-sbom.json',
131137
'RuntimeEnforcer-operator-attestation-amd64-sbom.json.bundle.sigstore',
138+
139+
'RuntimeEnforcer-agent-attestation-arm64-provenance.intoto.jsonl',
140+
'RuntimeEnforcer-agent-attestation-arm64-provenance.intoto.jsonl.bundle.sigstore',
141+
'RuntimeEnforcer-agent-attestation-arm64-sbom.json',
142+
'RuntimeEnforcer-agent-attestation-arm64-sbom.json.bundle.sigstore',
143+
'RuntimeEnforcer-operator-attestation-arm64-provenance.intoto.jsonl',
144+
'RuntimeEnforcer-operator-attestation-arm64-provenance.intoto.jsonl.bundle.sigstore',
145+
'RuntimeEnforcer-operator-attestation-arm64-sbom.json',
146+
'RuntimeEnforcer-operator-attestation-arm64-sbom.json.bundle.sigstore',
132147
]
133148
const {RELEASE_ID} = process.env
134149
for (const file of files) {

bpfvalidator-arm64-config.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Number of parallel VMs to run
2+
parallel: 3
3+
# kernel versions to test
4+
kernel_versions:
5+
- v6.4
6+
- v6.6.119
7+
- v6.12.62
8+
#- v6.17.12 # disabled due to qemu's "unable to handle EFI zboot image with "zstd" compression" error
9+
#- v6.18.1 # disabled due to qemu's "unable to handle EFI zboot image with "zstd" compression" error

0 commit comments

Comments
 (0)