From e0caaad2a472170fa7f7177150a93c3fa50d3fd3 Mon Sep 17 00:00:00 2001 From: Kay Yan Date: Wed, 1 Nov 2023 03:56:25 +0000 Subject: [PATCH] support nerdctl minimal Signed-off-by: Kay Yan --- .github/workflows/nerdctl.yaml | 109 +++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 .github/workflows/nerdctl.yaml diff --git a/.github/workflows/nerdctl.yaml b/.github/workflows/nerdctl.yaml new file mode 100644 index 0000000000..1c95ab2e29 --- /dev/null +++ b/.github/workflows/nerdctl.yaml @@ -0,0 +1,109 @@ +name: Nerdctl + +on: + workflow_dispatch: + pull_request: + branches: + - main + paths-ignore: + - 'site/**' + +permissions: + contents: read + +jobs: + nerdctl: + name: Nerdctl + runs-on: ubuntu-22.04 + timeout-minutes: 30 + strategy: + fail-fast: false + matrix: + ipFamily: [ipv4, ipv6] + deployment: [singleNode, multiNode] + exclude: + - ipFamily: ipv6 + env: + JOB_NAME: "nerdctl-${{ matrix.deployment }}-${{ matrix.ipFamily }}" + IP_FAMILY: ${{ matrix.ipFamily }} + NERDCTL_VERSION: "1.6.2" + steps: + - name: Check out code into the Go module directory + uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 + with: + fetch-depth: 0 + + - name: Install kind + run: sudo make install INSTALL_DIR=/usr/local/bin + + - name: Install kubectl + run: | + curl -LO https://dl.k8s.io/release/$(curl -sL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl + chmod +x ./kubectl + sudo mv ./kubectl /usr/local/bin/kubectl + + - name: Enable ipv4 and ipv6 forwarding + run: | + sudo sysctl -w net.ipv6.conf.all.forwarding=1 + sudo sysctl -w net.ipv4.ip_forward=1 + + - name: Install nerdctl + run: | + sudo systemctl is-active --quiet docker.service || systemctl stop docker.service + sudo apt-get remove -y docker-ce docker-ce-cli docker-buildx-plugin podman + sudo curl -sSL https://github.com/containerd/nerdctl/releases/download/v${NERDCTL_VERSION}/nerdctl-${NERDCTL_VERSION}-linux-amd64.tar.gz|sudo tar -xvz -C /usr/local/bin + sudo ln -s /usr/local/bin/nerdctl /usr/local/bin/docker + sudo docker version + + - name: Create single node cluster + if: ${{ matrix.deployment == 'singleNode' }} + run: | + cat <