From 0a7700b846ed6477446192596bf618c4e78c75da Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Wed, 10 Apr 2024 16:15:05 +0900 Subject: [PATCH] CI: add nerdctl Signed-off-by: Akihiro Suda --- .github/workflows/main.yaml | 10 +++++++++- init-host/init-host.root.sh | 6 +++--- init-host/init-host.rootless.sh | 5 +++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 0153f22..7159c1a 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -12,7 +12,7 @@ jobs: strategy: fail-fast: false matrix: - engine: [docker, podman] + engine: [docker, nerdctl, podman] env: CONTAINER_ENGINE: "${{ matrix.engine }}" steps: @@ -37,6 +37,12 @@ jobs: sudo rm -rf /var/run/docker* dockerd-rootless-setuptool.sh install docker info + - name: Set up Rootless nerdctl + if: ${{ matrix.engine == 'nerdctl' }} + run: | + set -eux -o pipefail + sudo ./init-host/init-host.root.d/install-nerdctl.sh + nerdctl info - name: Set up Rootless Podman if: ${{ matrix.engine == 'podman' }} run: | @@ -69,6 +75,8 @@ jobs: include: - lxc-image: ubuntu:22.04 engine: docker + - lxc-image: ubuntu:22.04 + engine: nerdctl - lxc-image: images:fedora/39/cloud engine: podman env: diff --git a/init-host/init-host.root.sh b/init-host/init-host.root.sh index 5151eb1..48cf0da 100755 --- a/init-host/init-host.root.sh +++ b/init-host/init-host.root.sh @@ -57,9 +57,9 @@ case "${CONTAINER_ENGINE}" in fi systemctl disable --now docker ;; -"podman") - if ! command -v podman >/dev/null 2>&1; then - "${script_dir}"/init-host.root.d/install-podman.sh +"podman" | "nerdctl") + if ! command -v "${CONTAINER_ENGINE}" >/dev/null 2>&1; then + "${script_dir}"/init-host.root.d/install-"${CONTAINER_ENGINE}".sh fi ;; *) diff --git a/init-host/init-host.rootless.sh b/init-host/init-host.rootless.sh index 096ede4..4a52bf8 100755 --- a/init-host/init-host.rootless.sh +++ b/init-host/init-host.rootless.sh @@ -11,6 +11,11 @@ case "${CONTAINER_ENGINE}" in "docker") dockerd-rootless-setuptool.sh install ;; +"nerdctl") + containerd-rootless-setuptool.sh install + containerd-rootless-setuptool.sh install-buildkit-containerd + containerd-rootless-setuptool.sh install-bypass4netnsd + ;; "podman") systemctl --user enable --now podman-restart ;;