name: E2E on: pull_request: branches: ['main', 'release/1.7', 'release/2.0', 'release/2.1'] merge_group: branches: ['main', 'release/1.7', 'release/2.0', 'release/2.1'] permissions: contents: read jobs: node-e2e-k8s: name: Kubernetes Node runs-on: ubuntu-24.04 timeout-minutes: 90 steps: - name: Checkout containerd uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: path: src/github.com/containerd/containerd - name: Checkout Kubernetes uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: repository: kubernetes/kubernetes path: src/k8s.io/kubernetes - 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@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: e2e-logs path: ./_artifacts/