Skip to content

Commit a9f89c3

Browse files
authored
ci: re-enable 6.10 kernel workflow (#2308)
* ci: re-enable 6.10 kernel workflow * ci: allow unsafe procfs in vm workflow * ci: try unconfined seccomp profile instead * fix: try insecure buildx instance * fix: use docker-cli-buildx package * fix: pin runc to older version * fix: try alpine 3.20 * chore: set GO_VERSION in one place
1 parent b61a711 commit a9f89c3

File tree

2 files changed

+29
-8
lines changed

2 files changed

+29
-8
lines changed

.github/workflows/workflow_integration_tests_vm.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,8 @@ jobs:
5858
kernel:
5959
- kernel-version: "5.15.152"
6060
arch: "x86_64"
61-
# 6.10.6 not needed as GitHub runners are already on 6.11
62-
# - kernel-version: "6.10.6"
63-
# arch: "x86_64"
61+
- kernel-version: "6.10.6"
62+
arch: "x86_64"
6463
test: ${{ fromJson(needs.vm-test-matrix.outputs.matrix).include }}
6564
steps:
6665
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0

internal/test/vm/Dockerfile

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,37 @@
1-
FROM golang:1.25.1-alpine@sha256:b6ed3fd0452c0e9bcdef5597f29cc1418f61672e9d3a2f55bf02e7222c014abd
1+
FROM alpine:3.20
22

33
# this is the toplevel Makefile target to be invoked
44
# see the contents of 'startup.sh' at the end of this file
55
ARG target=run-integration-test-vm
66
ARG test_pattern=TestMultiProcess
77
ARG run_number=1
8-
9-
RUN apk update && apk add --no-cache \
8+
ARG GO_VERSION=1.25.1
9+
10+
# Pin Docker/runc to Alpine 3.20 versions (before November 2025 CVE patches)
11+
# The procfs security checks in newer runc (CVE-2025-52881, CVE-2025-52565,
12+
# CVE-2025-31133) prevent containers from starting in nested virtualization.
13+
# Even buildkit containers fail to boot, so insecure buildx approach is not viable.
14+
RUN apk update && \
15+
apk add --no-cache \
1016
agetty \
1117
bash \
18+
ca-certificates \
1219
docker \
13-
docker-compose \
20+
docker-cli-compose \
1421
git \
1522
make \
1623
openrc \
1724
openssh \
18-
shadow
25+
shadow \
26+
wget
27+
28+
# Install desired Go version
29+
RUN wget -q https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz && \
30+
tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz && \
31+
rm go${GO_VERSION}.linux-amd64.tar.gz && \
32+
ln -s /usr/local/go/bin/go /usr/bin/go && \
33+
ln -s /usr/local/go/bin/gofmt /usr/bin/gofmt && \
34+
go version
1935

2036
RUN ssh-keygen -A && \
2137
echo "root:root" | chpasswd && \
@@ -75,6 +91,12 @@ while ! docker info >/dev/null 2>&1; do
7591
done
7692
echo "Docker daemon is ready"
7793

94+
# Verify runc version
95+
echo "=== Docker/runc versions in VM ==="
96+
docker version
97+
runc --version
98+
echo "=================================="
99+
78100
if [[ -n "$target" ]]; then
79101
echo "=== Starting test execution ==="
80102
echo "Current directory: $(pwd)"

0 commit comments

Comments
 (0)