@@ -94,129 +94,129 @@ jobs:
94
94
- name : " Run unit tests"
95
95
run : make test-unit
96
96
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
159
159
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
220
220
221
221
test-integration-rootless :
222
222
needs : build-dependencies
0 commit comments