From 57ff86db57a21e69d3164f78ab3e5abbb0b07a68 Mon Sep 17 00:00:00 2001 From: Akihiro Suda Date: Sat, 4 May 2024 13:14:14 +0900 Subject: [PATCH] CI: use Go 1.22 The main branch of containerd now depends on Go 1.22, so we have to upgrade the CI to Go 1.22. The runc binary is still built with Go 1.21 due to opencontainers/runc issue 4233. Signed-off-by: Akihiro Suda --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 2 +- Dockerfile | 18 ++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index af5c1baa700..864f70cd573 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -15,7 +15,7 @@ jobs: - uses: actions/checkout@v4.1.1 - uses: actions/setup-go@v5 with: - go-version: 1.21.x + go-version: 1.22.x - name: "Compile binaries" run: make artifacts - name: "SHA256SUMS" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 49847eee123..9f2e24f4e57 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,7 @@ on: pull_request: env: - GO_VERSION: 1.21.x + GO_VERSION: 1.22.x jobs: project: diff --git a/Dockerfile b/Dockerfile index ad1524e7a0e..f75e9a169e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,7 +44,7 @@ ARG TINI_VERSION=v0.19.0 ARG BUILDG_VERSION=v0.4.1 # Test deps -ARG GO_VERSION=1.21 +ARG GO_VERSION=1.22 ARG UBUNTU_VERSION=22.04 ARG CONTAINERIZED_SYSTEMD_VERSION=v0.1.1 ARG GOTESTSUM_VERSION=v1.11.0 @@ -65,6 +65,18 @@ ARG TARGETARCH RUN xx-apt-get update && \ xx-apt-get install -y binutils gcc libc6-dev libbtrfs-dev libseccomp-dev +# runc still requires Go 1.21 +# https://github.com/opencontainers/runc/issues/4233 +FROM --platform=$BUILDPLATFORM golang:1.21-bullseye AS build-base-debian-go121 +COPY --from=xx / / +ENV DEBIAN_FRONTEND=noninteractive +RUN apt-get update && \ + apt-get install -y git pkg-config dpkg-dev +ARG TARGETARCH +# libseccomp: for runc +RUN xx-apt-get update && \ + xx-apt-get install -y binutils gcc libc6-dev libseccomp-dev + FROM build-base-debian AS build-containerd ARG TARGETARCH ARG CONTAINERD_VERSION @@ -76,7 +88,9 @@ RUN git checkout ${CONTAINERD_VERSION} && \ RUN GO=xx-go make STATIC=1 && \ cp -a bin/containerd bin/containerd-shim-runc-v2 bin/ctr /out/$TARGETARCH -FROM build-base-debian AS build-runc +# runc still requires Go 1.21 +# https://github.com/opencontainers/runc/issues/4233 +FROM build-base-debian-go121 AS build-runc ARG RUNC_VERSION ARG TARGETARCH RUN git clone https://github.com/opencontainers/runc.git /go/src/github.com/opencontainers/runc