*: enable ARM64 runner
There are many Kubernetes clusters running on ARM64. Enable ARM64 runner is to commit to support ARM64 platform officially. Signed-off-by: Wei Fu <fuweid89@gmail.com>
This commit is contained in:
parent
a68efb1bad
commit
cb5a48e645
17
.github/workflows/ci.yml
vendored
17
.github/workflows/ci.yml
vendored
@ -28,7 +28,7 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-22.04, macos-12, windows-2019]
|
os: [ubuntu-22.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v4
|
||||||
@ -208,7 +208,7 @@ jobs:
|
|||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-22.04, macos-12, windows-2019, windows-2022]
|
os: [ubuntu-22.04, actuated-arm64-4cpu-16gb, macos-12, windows-2019, windows-2022]
|
||||||
go-version: ["1.20.12", "1.21.5"]
|
go-version: ["1.20.12", "1.21.5"]
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/setup-go@v4
|
- uses: actions/setup-go@v4
|
||||||
@ -396,7 +396,7 @@ jobs:
|
|||||||
|
|
||||||
integration-linux:
|
integration-linux:
|
||||||
name: Linux Integration
|
name: Linux Integration
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ${{ matrix.os }}
|
||||||
timeout-minutes: 40
|
timeout-minutes: 40
|
||||||
needs: [project, linters, protos, man]
|
needs: [project, linters, protos, man]
|
||||||
|
|
||||||
@ -406,6 +406,7 @@ jobs:
|
|||||||
runtime:
|
runtime:
|
||||||
- io.containerd.runc.v2
|
- io.containerd.runc.v2
|
||||||
runc: [runc, crun]
|
runc: [runc, crun]
|
||||||
|
os: [ubuntu-22.04, actuated-arm64-4cpu-16gb]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GOTEST: gotestsum --
|
GOTEST: gotestsum --
|
||||||
@ -422,7 +423,7 @@ jobs:
|
|||||||
RUNC_FLAVOR: ${{ matrix.runc }}
|
RUNC_FLAVOR: ${{ matrix.runc }}
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
sudo apt-get install -y gperf
|
sudo apt-get install -y gperf dmsetup strace xfsprogs
|
||||||
script/setup/install-seccomp
|
script/setup/install-seccomp
|
||||||
script/setup/install-runc
|
script/setup/install-runc
|
||||||
script/setup/install-cni $(grep containernetworking/plugins go.mod | awk '{print $2}')
|
script/setup/install-cni $(grep containernetworking/plugins go.mod | awk '{print $2}')
|
||||||
@ -430,6 +431,10 @@ jobs:
|
|||||||
script/setup/install-failpoint-binaries
|
script/setup/install-failpoint-binaries
|
||||||
|
|
||||||
- name: Install criu
|
- name: Install criu
|
||||||
|
# NOTE: Required actuated enable CONFIG_CHECKPOINT_RESTORE
|
||||||
|
#
|
||||||
|
# REF: https://criu.org/Linux_kernel
|
||||||
|
if: matrix.os != 'actuated-arm64-4cpu-16gb'
|
||||||
run: |
|
run: |
|
||||||
sudo add-apt-repository -y ppa:criu/ppa
|
sudo add-apt-repository -y ppa:criu/ppa
|
||||||
sudo apt-get update
|
sudo apt-get update
|
||||||
@ -514,7 +519,9 @@ jobs:
|
|||||||
losetup -l
|
losetup -l
|
||||||
- name: Kernel Message
|
- name: Kernel Message
|
||||||
if: failure()
|
if: failure()
|
||||||
run: sudo dmesg -T -f kern
|
run: |
|
||||||
|
sudo lsmod
|
||||||
|
sudo dmesg -T -f kern
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v3
|
- uses: actions/upload-artifact@v3
|
||||||
if: always()
|
if: always()
|
||||||
|
@ -23,6 +23,7 @@ import (
|
|||||||
"syscall"
|
"syscall"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
kernel "github.com/containerd/containerd/v2/contrib/seccomp/kernelversion"
|
||||||
"github.com/containerd/continuity/testutil"
|
"github.com/containerd/continuity/testutil"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
"golang.org/x/sys/unix"
|
"golang.org/x/sys/unix"
|
||||||
@ -45,6 +46,13 @@ var (
|
|||||||
func TestGetUsernsFD(t *testing.T) {
|
func TestGetUsernsFD(t *testing.T) {
|
||||||
testutil.RequiresRoot(t)
|
testutil.RequiresRoot(t)
|
||||||
|
|
||||||
|
k512 := kernel.KernelVersion{Kernel: 5, Major: 12}
|
||||||
|
ok, err := kernel.GreaterEqualThan(k512)
|
||||||
|
require.NoError(t, err)
|
||||||
|
if !ok {
|
||||||
|
t.Skip("GetUsernsFD requires kernel >= 5.12")
|
||||||
|
}
|
||||||
|
|
||||||
t.Run("basic", testGetUsernsFDBasic)
|
t.Run("basic", testGetUsernsFDBasic)
|
||||||
|
|
||||||
t.Run("when kill child process before write u[g]id maps", testGetUsernsFDKillChildWhenWriteUGIDMaps)
|
t.Run("when kill child process before write u[g]id maps", testGetUsernsFDKillChildWhenWriteUGIDMaps)
|
||||||
|
@ -25,7 +25,9 @@ script_dir="$(cd -- "$(dirname -- "$0")" > /dev/null 2>&1; pwd -P)"
|
|||||||
# e2e will fail with "sudo: command not found"
|
# e2e will fail with "sudo: command not found"
|
||||||
SUDO=''
|
SUDO=''
|
||||||
if (( $EUID != 0 )); then
|
if (( $EUID != 0 )); then
|
||||||
SUDO='sudo'
|
# The actuated ARM64 env needs PATH=$PATH to get `go` path. Otherwise
|
||||||
|
# `make install` recipe will fail.
|
||||||
|
SUDO="sudo -E PATH=$PATH"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$(go env GOPATH)"
|
cd "$(go env GOPATH)"
|
||||||
|
Loading…
Reference in New Issue
Block a user