Skip to content

Commit c631651

Browse files
fuweidakhilerm
authored andcommitted
*: enable ARM64 runner
There are many Kubernetes clusters running on ARM64. Enable ARM64 runner is to commit to support ARM64 platform officially. runc.v1 and runtime.v1 runtime tests are skipped on arm64 runners because they doesnot support cgroupv2; arm64 nodes has only ubuntu22.04 at the moment, and ubuntu22.04 has cgroupv2 enabled and cgroupv1 disabled by default. Signed-off-by: Wei Fu <[email protected]> (cherry picked from commit cb5a48e) Signed-off-by: Akhil Mohan <[email protected]>
1 parent 64b8a81 commit c631651

2 files changed

Lines changed: 23 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ jobs:
3131

3232
strategy:
3333
matrix:
34-
os: [ubuntu-20.04, macos-12, windows-2019]
34+
os: [ubuntu-20.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019]
3535

3636
steps:
3737
- uses: actions/setup-go@v3
@@ -206,7 +206,7 @@ jobs:
206206

207207
strategy:
208208
matrix:
209-
os: [ubuntu-20.04, macos-12, windows-2019, windows-2022]
209+
os: [ubuntu-20.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019, windows-2022]
210210
go-version: ["1.20.12", "1.21.5"]
211211
steps:
212212
- uses: actions/setup-go@v3
@@ -383,7 +383,7 @@ jobs:
383383
384384
integration-linux:
385385
name: Linux Integration
386-
runs-on: ubuntu-20.04
386+
runs-on: ${{ matrix.os }}
387387
timeout-minutes: 40
388388
needs: [project, linters, protos, man]
389389

@@ -396,11 +396,16 @@ jobs:
396396
- io.containerd.runc.v2
397397
runc: [runc, crun]
398398
enable_cri_sandboxes: ["", "sandboxed"]
399+
os: [ubuntu-20.04, actuated-arm64-4cpu-16gb]
399400
exclude:
400401
- runtime: io.containerd.runc.v1
401402
runc: crun
402403
- runtime: io.containerd.runtime.v1.linux
403404
runc: crun
405+
- runtime: io.containerd.runc.v1
406+
os: actuated-arm64-4cpu-16gb
407+
- runtime: io.containerd.runtime.v1.linux
408+
os: actuated-arm64-4cpu-16gb
404409

405410
env:
406411
GOTEST: gotestsum --
@@ -416,14 +421,18 @@ jobs:
416421
RUNC_FLAVOR: ${{ matrix.runc }}
417422
run: |
418423
sudo apt-get update
419-
sudo apt-get install -y gperf
424+
sudo apt-get install -y gperf dmsetup strace xfsprogs
420425
script/setup/install-seccomp
421426
script/setup/install-runc
422427
script/setup/install-cni $(grep containernetworking/plugins go.mod | awk '{print $2}')
423428
script/setup/install-critools
424429
script/setup/install-failpoint-binaries
425430
426431
- name: Install criu
432+
# NOTE: Required actuated enable CONFIG_CHECKPOINT_RESTORE
433+
#
434+
# REF: https://criu.org/Linux_kernel
435+
if: matrix.os != 'actuated-arm64-4cpu-16gb'
427436
run: |
428437
sudo add-apt-repository -y ppa:criu/ppa
429438
sudo apt-get update
@@ -510,6 +519,13 @@ jobs:
510519
mount
511520
df
512521
losetup -l
522+
523+
- name: Kernel Message
524+
if: failure()
525+
run: |
526+
sudo lsmod
527+
sudo dmesg -T -f kern
528+
513529
- uses: actions/upload-artifact@v3
514530
if: always()
515531
with:

script/setup/install-critools

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ script_dir="$(cd -- "$(dirname -- "$0")" > /dev/null 2>&1; pwd -P)"
2525
# e2e will fail with "sudo: command not found"
2626
SUDO=''
2727
if (( $EUID != 0 )); then
28-
SUDO='sudo'
28+
# The actuated ARM64 env needs PATH=$PATH to get `go` path. Otherwise
29+
# `make install` recipe will fail.
30+
SUDO="sudo -E PATH=$PATH"
2931
fi
3032

3133
cd "$(go env GOPATH)"

0 commit comments

Comments
 (0)