@@ -94,129 +94,129 @@ jobs:
9494 - name : " Run unit tests"
9595 run : make test-unit
9696
97- test-integration :
98- needs : build-dependencies
99- timeout-minutes : 30
100- name : rootful | ${{ matrix.containerd }} | ${{ matrix.runner }}
101- runs-on : " ${{ matrix.runner }}"
102- strategy :
103- fail-fast : false
104- matrix :
105- # ubuntu-20.04: cgroup v1, ubuntu-22.04 and later: cgroup v2
106- include :
107- - ubuntu : 20.04
108- containerd : v1.6.36
109- runner : " ubuntu-20.04"
110- arch : amd64
111- # - ubuntu: 22.04
112- # containerd: v1.7.25
113- # runner: "ubuntu-22.04"
114- # arch: amd64
115- - ubuntu : 24.04
116- containerd : v2.0.2
117- runner : " ubuntu-24.04"
118- arch : amd64
119- # - ubuntu: 24.04
120- # containerd: v2.0.2
121- # runner: arm64-8core-32gb
122- # arch: arm64
123- env :
124- CONTAINERD_VERSION : " ${{ matrix.containerd }}"
125- ARCH : " ${{ matrix.arch }}"
126- UBUNTU_VERSION : " ${{ matrix.ubuntu }}"
127- steps :
128- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
129- with :
130- fetch-depth : 1
131- - name : " Expose GitHub Runtime variables for gha"
132- uses : crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
133- - name : " Prepare integration test environment"
134- run : |
135- docker buildx create --name with-gha --use
136- docker buildx build \
137- --output=type=docker \
138- --cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
139- -t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
140- - name : " Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
141- run : |
142- sudo systemctl disable --now snapd.service snapd.socket
143- sudo apt-get purge -y snapd
144- sudo losetup -Dv
145- sudo losetup -lv
146- - name : " Register QEMU (tonistiigi/binfmt)"
147- run : |
148- # `--install all` will only install emulation for architectures that cannot be natively executed
149- # Since some arm64 platforms do provide native fallback execution for 32 bits,
150- # armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
151- # To avoid that, we explicitly list the architectures we do want emulation for.
152- docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
153- docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
154- docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
155- - name : " Run integration tests"
156- run : docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=false
157- - name : " Run integration tests (flaky)"
158- run : docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=true
97+ # test-integration:
98+ # needs: build-dependencies
99+ # timeout-minutes: 30
100+ # name: rootful | ${{ matrix.containerd }} | ${{ matrix.runner }}
101+ # runs-on: "${{ matrix.runner }}"
102+ # strategy:
103+ # fail-fast: false
104+ # matrix:
105+ # # ubuntu-20.04: cgroup v1, ubuntu-22.04 and later: cgroup v2
106+ # include:
107+ # - ubuntu: 20.04
108+ # containerd: v1.6.36
109+ # runner: "ubuntu-20.04"
110+ # arch: amd64
111+ # # - ubuntu: 22.04
112+ # # containerd: v1.7.25
113+ # # runner: "ubuntu-22.04"
114+ # # arch: amd64
115+ # - ubuntu: 24.04
116+ # containerd: v2.0.2
117+ # runner: "ubuntu-24.04"
118+ # arch: amd64
119+ # # - ubuntu: 24.04
120+ # # containerd: v2.0.2
121+ # # runner: arm64-8core-32gb
122+ # # arch: arm64
123+ # env:
124+ # CONTAINERD_VERSION: "${{ matrix.containerd }}"
125+ # ARCH: "${{ matrix.arch }}"
126+ # UBUNTU_VERSION: "${{ matrix.ubuntu }}"
127+ # steps:
128+ # - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
129+ # with:
130+ # fetch-depth: 1
131+ # - name: "Expose GitHub Runtime variables for gha"
132+ # uses: crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
133+ # - name: "Prepare integration test environment"
134+ # run: |
135+ # docker buildx create --name with-gha --use
136+ # docker buildx build \
137+ # --output=type=docker \
138+ # --cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
139+ # -t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
140+ # - name: "Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
141+ # run: |
142+ # sudo systemctl disable --now snapd.service snapd.socket
143+ # sudo apt-get purge -y snapd
144+ # sudo losetup -Dv
145+ # sudo losetup -lv
146+ # - name: "Register QEMU (tonistiigi/binfmt)"
147+ # run: |
148+ # # `--install all` will only install emulation for architectures that cannot be natively executed
149+ # # Since some arm64 platforms do provide native fallback execution for 32 bits,
150+ # # armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
151+ # # To avoid that, we explicitly list the architectures we do want emulation for.
152+ # docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
153+ # docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
154+ # docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
155+ # - name: "Run integration tests"
156+ # run: docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=false
157+ # - name: "Run integration tests (flaky)"
158+ # run: docker run -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-flaky=true
159159
160- test-integration-ipv6 :
161- needs : build-dependencies
162- timeout-minutes : 15
163- name : ipv6 | ${{ matrix.containerd }} | ${{ matrix.ubuntu }}
164- runs-on : " ubuntu-${{ matrix.ubuntu }}"
165- strategy :
166- fail-fast : false
167- matrix :
168- include :
169- - ubuntu : 24.04
170- containerd : v2.0.2
171- arch : amd64
172- env :
173- CONTAINERD_VERSION : " ${{ matrix.containerd }}"
174- ARCH : " ${{ matrix.arch }}"
175- UBUNTU_VERSION : " ${{ matrix.ubuntu }}"
176- steps :
177- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
178- with :
179- fetch-depth : 1
180- - name : Enable ipv4 and ipv6 forwarding
181- run : |
182- sudo sysctl -w net.ipv6.conf.all.forwarding=1
183- sudo sysctl -w net.ipv4.ip_forward=1
184- - name : " Expose GitHub Runtime variables for gha"
185- uses : crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
186- - name : Enable IPv6 for Docker, and configure docker to use containerd for gha
187- run : |
188- sudo mkdir -p /etc/docker
189- echo '{"ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64", "experimental": true, "ip6tables": true}' | sudo tee /etc/docker/daemon.json
190- sudo systemctl restart docker
191- - name : " Prepare integration test environment"
192- run : |
193- docker buildx create --name with-gha --use
194- docker buildx build \
195- --output=type=docker \
196- --cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
197- -t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
198- - name : " Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
199- run : |
200- sudo systemctl disable --now snapd.service snapd.socket
201- sudo apt-get purge -y snapd
202- sudo losetup -Dv
203- sudo losetup -lv
204- - name : " Register QEMU (tonistiigi/binfmt)"
205- run : |
206- # `--install all` will only install emulation for architectures that cannot be natively executed
207- # Since some arm64 platforms do provide native fallback execution for 32 bits,
208- # armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
209- # To avoid that, we explicitly list the architectures we do want emulation for.
210- docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
211- docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
212- docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
213- - name : " Run integration tests"
214- # The nested IPv6 network inside docker and qemu is complex and needs a bunch of sysctl config.
215- # Therefore, it's hard to debug why the IPv6 tests fail in such an isolation layer.
216- # On the other side, using the host network is easier at configuration.
217- # Besides, each job is running on a different instance, which means using host network here
218- # is safe and has no side effects on others.
219- run : docker run --network host -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-ipv6
160+ # test-integration-ipv6:
161+ # needs: build-dependencies
162+ # timeout-minutes: 15
163+ # name: ipv6 | ${{ matrix.containerd }} | ${{ matrix.ubuntu }}
164+ # runs-on: "ubuntu-${{ matrix.ubuntu }}"
165+ # strategy:
166+ # fail-fast: false
167+ # matrix:
168+ # include:
169+ # - ubuntu: 24.04
170+ # containerd: v2.0.2
171+ # arch: amd64
172+ # env:
173+ # CONTAINERD_VERSION: "${{ matrix.containerd }}"
174+ # ARCH: "${{ matrix.arch }}"
175+ # UBUNTU_VERSION: "${{ matrix.ubuntu }}"
176+ # steps:
177+ # - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
178+ # with:
179+ # fetch-depth: 1
180+ # - name: Enable ipv4 and ipv6 forwarding
181+ # run: |
182+ # sudo sysctl -w net.ipv6.conf.all.forwarding=1
183+ # sudo sysctl -w net.ipv4.ip_forward=1
184+ # - name: "Expose GitHub Runtime variables for gha"
185+ # uses: crazy-max/ghaction-github-runtime@b3a9207c0e1ef41f4cf215303c976869d0c2c1c4 # v3.0.0
186+ # - name: Enable IPv6 for Docker, and configure docker to use containerd for gha
187+ # run: |
188+ # sudo mkdir -p /etc/docker
189+ # echo '{"ipv6": true, "fixed-cidr-v6": "2001:db8:1::/64", "experimental": true, "ip6tables": true}' | sudo tee /etc/docker/daemon.json
190+ # sudo systemctl restart docker
191+ # - name: "Prepare integration test environment"
192+ # run: |
193+ # docker buildx create --name with-gha --use
194+ # docker buildx build \
195+ # --output=type=docker \
196+ # --cache-from type=gha,scope=${ARCH}-${CONTAINERD_VERSION} \
197+ # -t test-integration --target test-integration --build-arg UBUNTU_VERSION=${UBUNTU_VERSION} --build-arg CONTAINERD_VERSION=${CONTAINERD_VERSION} .
198+ # - name: "Remove snap loopback devices (conflicts with our loopback devices in TestRunDevice)"
199+ # run: |
200+ # sudo systemctl disable --now snapd.service snapd.socket
201+ # sudo apt-get purge -y snapd
202+ # sudo losetup -Dv
203+ # sudo losetup -lv
204+ # - name: "Register QEMU (tonistiigi/binfmt)"
205+ # run: |
206+ # # `--install all` will only install emulation for architectures that cannot be natively executed
207+ # # Since some arm64 platforms do provide native fallback execution for 32 bits,
208+ # # armv7 emulation may or may not be installed, causing variance in the result of `uname -m`.
209+ # # To avoid that, we explicitly list the architectures we do want emulation for.
210+ # docker run --privileged --rm tonistiigi/binfmt --install linux/amd64
211+ # docker run --privileged --rm tonistiigi/binfmt --install linux/arm64
212+ # docker run --privileged --rm tonistiigi/binfmt --install linux/arm/v7
213+ # - name: "Run integration tests"
214+ # # The nested IPv6 network inside docker and qemu is complex and needs a bunch of sysctl config.
215+ # # Therefore, it's hard to debug why the IPv6 tests fail in such an isolation layer.
216+ # # On the other side, using the host network is easier at configuration.
217+ # # Besides, each job is running on a different instance, which means using host network here
218+ # # is safe and has no side effects on others.
219+ # run: docker run --network host -t --rm --privileged test-integration ./hack/test-integration.sh -test.only-ipv6
220220
221221 test-integration-rootless :
222222 needs : build-dependencies
0 commit comments