name: E2E on: workflow_call: inputs: k8s_version: description: 'Kubernetes branch or tag to test against' required: false default: 'master' type: string permissions: contents: read jobs: node-e2e-k8s: name: Kubernetes Node runs-on: ubuntu-24.04 timeout-minutes: 90 steps: - name: Clean up disk space run: | df -h sudo rm -rf /usr/share/dotnet \ /usr/local/graalvm \ /usr/local/.ghcup \ /usr/local/share/powershell \ /usr/local/share/chromium \ /usr/local/share/firefox \ /usr/local/lib/android \ /usr/local/lib/node_modules \ /usr/local/share/podman \ /usr/local/aws-cli/ \ /usr/local/lib/heroku \ /usr/local/rustup \ /usr/local/cargo \ /usr/local/google-cloud-sdk df -h - name: Checkout containerd uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: path: src/github.com/containerd/containerd fetch-depth: 0 persist-credentials: false - name: Checkout Kubernetes uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: repository: kubernetes/kubernetes path: src/k8s.io/kubernetes ref: ${{ inputs.k8s_version }} fetch-depth: 0 persist-credentials: false - name: Install Go uses: ./src/github.com/containerd/containerd/.github/actions/install-go - name: Set Up Environment run: | set -e -x # Disable swap to allow kubelet to start. sudo swapoff -a sudo apt-get update sudo apt-get install -y gperf build-essential pkg-config echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV echo "${{ github.workspace }}/bin" >> $GITHUB_PATH - name: Build and Install containerd working-directory: ./src/github.com/containerd/containerd run: | set -e -x script/setup/install-seccomp script/setup/install-runc script/setup/install-cni $(grep containernetworking/plugins go.mod | awk '{print $2}') make binaries GO_BUILD_FLAGS="-mod=vendor" sudo make install - name: Configure and Start containerd run: | set -e -x # Stop and disable pre-existing containerd service to ensure a clean state. if sudo systemctl is-active --quiet containerd; then sudo systemctl stop containerd fi if sudo systemctl is-enabled --quiet containerd; then sudo systemctl disable containerd fi sudo mkdir -p /etc/containerd sudo tee /etc/containerd/config.toml > /dev/null < "${ARTIFACT_DIR}/kubelet.log" fi sudo journalctl -u containerd --no-pager > "${ARTIFACT_DIR}/containerd.log" - name: Upload Log Artifacts if: failure() uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 with: name: e2e-logs path: ./_artifacts/