Merge pull request #4335 from containerd/dependabot/go_modules/github… #786
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: test | |
on: | |
push: | |
branches: | |
- main | |
- 'release/**' | |
pull_request: | |
paths-ignore: | |
- '**.md' | |
jobs: | |
test-unit: | |
# Note: inputs.hack is undefined - its purpose is to prevent GitHub Actions from displaying all matrix variants as part of the name. | |
name: "unit${{ inputs.hack }}" | |
uses: ./.github/workflows/job-test-unit.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
# Run on all supported platforms but freebsd | |
# Additionally run on canary for linux | |
include: | |
- runner: "ubuntu-24.04" | |
- runner: "macos-15" | |
- runner: "windows-2025" | |
- runner: "ubuntu-24.04" | |
canary: true | |
with: | |
runner: ${{ matrix.runner }} | |
canary: ${{ matrix.canary && true || false }} | |
# Windows routinely go over 5 minutes | |
timeout: 10 | |
go-version: 1.24 | |
windows-cni-version: v0.3.1 | |
linux-cni-version: v1.7.1 | |
linux-cni-sha: 1a28a0506bfe5bcdc981caf1a49eeab7e72da8321f1119b7be85f22621013098 | |
# This job builds the dependency target of the test-image for all supported architectures and cache it in GHA | |
build-dependencies: | |
name: "dependencies${{ inputs.hack }}" | |
uses: ./.github/workflows/job-test-dependencies.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Build for arm & amd, current containerd | |
- runner: ubuntu-24.04 | |
- runner: ubuntu-24.04-arm | |
# Additionally build for old containerd on amd | |
- runner: ubuntu-24.04 | |
containerd-version: v1.6.38 | |
with: | |
runner: ${{ matrix.runner }} | |
containerd-version: ${{ matrix.containerd-version }} | |
timeout: 20 | |
test-integration-container: | |
name: "in-container${{ inputs.hack }}" | |
uses: ./.github/workflows/job-test-in-container.yml | |
needs: build-dependencies | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
###### Rootless | |
# amd64 | |
- runner: ubuntu-24.04 | |
target: rootless | |
# arm64 | |
- runner: ubuntu-24.04-arm | |
target: rootless | |
# port-slirp4netns | |
- runner: ubuntu-24.04 | |
target: rootless-port-slirp4netns | |
# old containerd + old ubuntu + old rootlesskit | |
- runner: ubuntu-22.04 | |
target: rootless | |
containerd-version: v1.6.38 | |
rootlesskit-version: v1.1.1 | |
# gomodjail | |
- runner: ubuntu-24.04 | |
target: rootless | |
binary: "nerdctl.gomodjail" | |
###### Rootful | |
# amd64 | |
- runner: ubuntu-24.04 | |
target: rootful | |
# arm64 | |
- runner: ubuntu-24.04-arm | |
target: rootful | |
# old containerd + old ubuntu | |
- runner: ubuntu-22.04 | |
target: rootful | |
containerd-version: v1.6.38 | |
# ipv6 | |
- runner: ubuntu-24.04 | |
target: rootful | |
ipv6: true | |
# all canary | |
- runner: ubuntu-24.04 | |
target: rootful | |
canary: true | |
with: | |
timeout: 45 | |
runner: ${{ matrix.runner }} | |
target: ${{ matrix.target }} | |
binary: ${{ matrix.binary && matrix.binary || 'nerdctl' }} | |
containerd-version: ${{ matrix.containerd-version }} | |
rootlesskit-version: ${{ matrix.rootlesskit-version }} | |
ipv6: ${{ matrix.ipv6 && true || false }} | |
canary: ${{ matrix.canary && true || false }} | |
test-integration-host: | |
name: "in-host${{ inputs.hack }}" | |
uses: ./.github/workflows/job-test-in-host.yml | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Test on windows w/o canary | |
- runner: windows-2022 | |
- runner: windows-2025 | |
canary: true | |
# Test docker on linux | |
- runner: ubuntu-24.04 | |
binary: docker | |
# FIXME: running nerdctl on the host is work in progress | |
# (we miss runc to be installed on the host - and obviously other deps) | |
# Plan is to pause this for now and first consolidate dependencies management (wrt Dockerfile vs. host-testing CI) | |
# before we can really start testing linux nerdctl on the host. | |
# - runner: ubuntu-24.04 | |
# - runner: ubuntu-24.04 | |
# canary: true | |
with: | |
timeout: 45 | |
runner: ${{ matrix.runner }} | |
binary: ${{ matrix.binary != '' && matrix.binary || 'nerdctl' }} | |
canary: ${{ matrix.canary && true || false }} | |
go-version: 1.24 | |
windows-cni-version: v0.3.1 | |
docker-version: 5:28.0.4-1~ubuntu.24.04~noble | |
containerd-version: 2.1.1 | |
# Note: these as for amd64 | |
containerd-sha: 918e88fd393c28c89424e6535df0546ca36c1dfa7d8a5d685dee70b449380a9b | |
containerd-service-sha: 1941362cbaa89dd591b99c32b050d82c583d3cd2e5fa63085d7017457ec5fca8 | |
linux-cni-version: v1.7.1 | |
linux-cni-sha: 1a28a0506bfe5bcdc981caf1a49eeab7e72da8321f1119b7be85f22621013098 |