Bump Go to 1.26.0

This change updates the Go version from 1.25.8 to 1.26.0 across the
repository, including CI configurations, build scripts, and development
environments.

It also fixes two linter issues discovered after upgrading the Go version:
- core/snapshots/storage/bolt.go: incorrect printf format for uint64
- plugins/transfer/plugin.go: incorrect printf format for int and unused variable

The golangci-lint version in script/setup/install-dev-tools is also updated to v2.9.0
to match CI.

Signed-off-by: Sergey Kanzhelev <S.Kanzhelev@live.com>
This commit is contained in:
Sergey Kanzhelev
2026-03-22 23:04:27 +00:00
parent 98c66b0429
commit 0130ae9aa8
12 changed files with 13 additions and 13 deletions

View File

@@ -12,7 +12,7 @@
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/go:1": {
"version": "1.25.8"
"version": "1.26.0"
}
},

View File

@@ -3,7 +3,7 @@ description: "Reusable action to install Go, so there is one place to bump Go ve
inputs:
go-version:
required: true
default: "1.25.8"
default: "1.26.0"
description: "Go version to install"
runs:

View File

@@ -6,7 +6,7 @@ on:
name: API Release
env:
GO_VERSION: "1.25.8"
GO_VERSION: "1.26.0"
permissions: # added using https://github.com/step-security/secure-workflows
contents: read

View File

@@ -186,7 +186,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
go-version: ["1.25.8", "1.26.1"]
go-version: ["1.26.0", "1.26.1"] # 1.25 is not supported due to k8s 1.36 requiring 1.26
exclude:
- os: ${{ github.event.repository.private && 'ubuntu-24.04-arm' || '' }}
steps:

View File

@@ -14,7 +14,7 @@
ARG UBUNTU_VERSION=22.04
ARG BASE_IMAGE=ubuntu:${UBUNTU_VERSION}
ARG GO_VERSION=1.25.8
ARG GO_VERSION=1.26.0
ARG GO_IMAGE=golang:${GO_VERSION}
FROM --platform=$BUILDPLATFORM $GO_IMAGE AS go
FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.6.1@sha256:923441d7c25f1e2eb5789f82d987693c47b8ed987c4ab3b075d6ed2b5d6779a3 AS xx

View File

@@ -25,7 +25,7 @@ A codespace will open in a web-based version of Visual Studio Code. The [dev con
To build the `containerd` daemon, and the `ctr` simple test client, the following build system dependencies are required:
* Go compiler (download from https://go.dev/dl/). The two most recent major Go versions are supported. For example, if Go 1.25 is the latest, then 1.25 and 1.24 are supported.
* Go compiler (download from https://go.dev/dl/). At least one of the two most recent major Go versions are supported. For example, if Go 1.26 is the latest, either 1.26 or 1.25 are supported. It is not uncommon to find issues in early days of the latest go version. The support of the non-latest version is dependant on dependencies supported versions.
* Btrfs headers and libraries for your distribution. Note that building the btrfs driver can be disabled via the build tag `no_btrfs`, removing this dependency.
> *Note*: On macOS, you need a third party runtime to run containers on containerd

2
Vagrantfile vendored
View File

@@ -109,7 +109,7 @@ EOF
config.vm.provision "install-golang", type: "shell", run: "once" do |sh|
sh.upload_path = "/tmp/vagrant-install-golang"
sh.env = {
'GO_VERSION': ENV['GO_VERSION'] || "1.25.8",
'GO_VERSION': ENV['GO_VERSION'] || "1.26.0",
}
sh.inline = <<~SHELL
#!/usr/bin/env bash

View File

@@ -34,7 +34,7 @@
# docker run --privileged --group-add keep-groups -v ./critest_exit_code.txt:/tmp/critest_exit_code.txt containerd-test
# ------------------------------------------------------------------------------
ARG GOLANG_VERSION=1.25.8
ARG GOLANG_VERSION=1.26.0
ARG GOLANG_IMAGE=golang
FROM ${GOLANG_IMAGE}:${GOLANG_VERSION} AS golang

View File

@@ -39,11 +39,11 @@ compile_fuzzers() {
apt-get update && apt-get install -y wget
cd $SRC
wget --quiet https://go.dev/dl/go1.25.8.linux-amd64.tar.gz
wget --quiet https://go.dev/dl/go1.26.0.linux-amd64.tar.gz
mkdir temp-go
rm -rf /root/.go/*
tar -C temp-go/ -xzf go1.25.8.linux-amd64.tar.gz
tar -C temp-go/ -xzf go1.26.0.linux-amd64.tar.gz
mv temp-go/go/* /root/.go/
cd $SRC/containerd

2
go.mod
View File

@@ -1,6 +1,6 @@
module github.com/containerd/containerd/v2
go 1.25.0
go 1.26.0
require (
dario.cat/mergo v1.0.2

View File

@@ -388,7 +388,7 @@ func TestCheckpointLeaveRunning(t *testing.T) {
t.Fatal(err)
}
if status.Status != Running {
t.Fatalf("expected status %q but received %q", Running, status)
t.Fatalf("expected status %q but received %q", Running, status.Status)
}
if err := task.Kill(ctx, syscall.SIGKILL); err != nil {

View File

@@ -5,7 +5,7 @@
# lived test environment.
Set-MpPreference -DisableRealtimeMonitoring:$true
$PACKAGES= @{ mingw = "10.2.0"; git = ""; golang = "1.25.8"; make = ""; nssm = "" }
$PACKAGES= @{ mingw = "10.2.0"; git = ""; golang = "1.26.0"; make = ""; nssm = "" }
Write-Host "Downloading chocolatey package"
curl.exe -L "https://packages.chocolatey.org/chocolatey.0.10.15.nupkg" -o 'c:\choco.zip'