From 1bcd55eba2a6752c65b93a24a9e86dfb847226c5 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Mon, 17 Aug 2026 15:39:20 -0700 Subject: [PATCH] go 1.26 (#10797) --- .github/workflows/ec-integration-tests.yml | 2 +- .github/workflows/kafka-quicktest.yml | 2 +- .github/workflows/kafka-tests.yml | 28 +++++++++---------- .github/workflows/postgres-tests.yml | 2 +- .github/workflows/s3-parquet-tests.yml | 4 +-- .../test-s3-over-https-using-awscli.yml | 2 +- .github/workflows/tls-rotation-tests.yml | 2 +- .../workflows/vacuum-integration-tests.yml | 2 +- docker/Dockerfile.foundationdb_large | 2 +- docker/Dockerfile.go_build | 2 +- docker/Dockerfile.rocksdb_dev_env | 2 +- docker/Dockerfile.rocksdb_large | 2 +- seaweedfs-rdma-sidecar/Dockerfile.sidecar | 2 +- seaweedfs-rdma-sidecar/Dockerfile.test-client | 2 +- seaweedfs-rdma-sidecar/README.md | 2 +- telemetry/server/Dockerfile | 2 +- test/foundationdb/Dockerfile.build | 4 +-- test/foundationdb/Dockerfile.build.arm64 | 2 +- test/foundationdb/Dockerfile.test | 2 +- test/fuse_integration/Makefile | 2 +- test/fuse_integration/README.md | 4 +-- test/kafka/Dockerfile.kafka-gateway | 2 +- test/kafka/Dockerfile.seaweedfs | 2 +- test/kafka/Dockerfile.test-setup | 2 +- .../kafka-client-loadtest/Dockerfile.loadtest | 2 +- test/kafka/kafka-client-loadtest/README.md | 2 +- test/postgres/Dockerfile.client | 2 +- test/postgres/Dockerfile.producer | 2 +- test/postgres/Dockerfile.seaweedfs | 2 +- test/s3/iam/Dockerfile.s3 | 2 +- test/s3/iam/README.md | 4 +-- 31 files changed, 48 insertions(+), 48 deletions(-) diff --git a/.github/workflows/ec-integration-tests.yml b/.github/workflows/ec-integration-tests.yml index b4c05f108..e078e01e6 100644 --- a/.github/workflows/ec-integration-tests.yml +++ b/.github/workflows/ec-integration-tests.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code into the Go module directory diff --git a/.github/workflows/kafka-quicktest.yml b/.github/workflows/kafka-quicktest.yml index cf8e898c8..c18a87048 100644 --- a/.github/workflows/kafka-quicktest.yml +++ b/.github/workflows/kafka-quicktest.yml @@ -42,7 +42,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true cache-dependency-path: | **/go.sum diff --git a/.github/workflows/kafka-tests.yml b/.github/workflows/kafka-tests.yml index 7d82844fb..7a40ee358 100644 --- a/.github/workflows/kafka-tests.yml +++ b/.github/workflows/kafka-tests.yml @@ -43,7 +43,7 @@ jobs: matrix: container-id: [unit-tests-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 1.0 --memory 1g --hostname kafka-unit-${{ matrix.container-id }} env: GOMAXPROCS: 1 @@ -53,7 +53,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code @@ -87,7 +87,7 @@ jobs: matrix: container-id: [integration-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 2.0 --memory 2g --ulimit nofile=1024:1024 --hostname kafka-integration-${{ matrix.container-id }} env: GOMAXPROCS: 2 @@ -98,7 +98,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code @@ -134,7 +134,7 @@ jobs: matrix: container-id: [e2e-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 2.0 --memory 2g --hostname kafka-e2e-${{ matrix.container-id }} env: GOMAXPROCS: 2 @@ -148,7 +148,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true cache-dependency-path: | **/go.sum @@ -313,7 +313,7 @@ jobs: matrix: container-id: [consumer-group-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 1.0 --memory 2g --ulimit nofile=512:512 --hostname kafka-consumer-${{ matrix.container-id }} env: GOMAXPROCS: 1 @@ -327,7 +327,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true cache-dependency-path: | **/go.sum @@ -475,7 +475,7 @@ jobs: matrix: container-id: [client-compat-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 1.0 --memory 1.5g --shm-size 256m --hostname kafka-client-${{ matrix.container-id }} env: GOMAXPROCS: 1 @@ -489,7 +489,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true cache-dependency-path: | **/go.sum @@ -633,7 +633,7 @@ jobs: matrix: container-id: [smq-integration-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 1.0 --memory 2g --hostname kafka-smq-${{ matrix.container-id }} env: GOMAXPROCS: 1 @@ -647,7 +647,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true cache-dependency-path: | **/go.sum @@ -794,7 +794,7 @@ jobs: matrix: container-id: [protocol-1] container: - image: golang:1.24-alpine + image: golang:1.26-alpine options: --cpus 1.0 --memory 1g --tmpfs /tmp:exec --hostname kafka-protocol-${{ matrix.container-id }} env: GOMAXPROCS: 1 @@ -805,7 +805,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code diff --git a/.github/workflows/postgres-tests.yml b/.github/workflows/postgres-tests.yml index 3acefddd3..a0369b134 100644 --- a/.github/workflows/postgres-tests.yml +++ b/.github/workflows/postgres-tests.yml @@ -41,7 +41,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code diff --git a/.github/workflows/s3-parquet-tests.yml b/.github/workflows/s3-parquet-tests.yml index 92e47b8f0..52e602a63 100644 --- a/.github/workflows/s3-parquet-tests.yml +++ b/.github/workflows/s3-parquet-tests.yml @@ -41,7 +41,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true - name: Set up Python ${{ matrix.python-version }} @@ -148,7 +148,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 cache: true - name: Run Go unit tests diff --git a/.github/workflows/test-s3-over-https-using-awscli.yml b/.github/workflows/test-s3-over-https-using-awscli.yml index 5a01f40bc..57838cecb 100644 --- a/.github/workflows/test-s3-over-https-using-awscli.yml +++ b/.github/workflows/test-s3-over-https-using-awscli.yml @@ -36,7 +36,7 @@ jobs: - uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 - name: Build SeaweedFS run: | diff --git a/.github/workflows/tls-rotation-tests.yml b/.github/workflows/tls-rotation-tests.yml index 2e13de33a..ce4ecc99d 100644 --- a/.github/workflows/tls-rotation-tests.yml +++ b/.github/workflows/tls-rotation-tests.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code into the Go module directory diff --git a/.github/workflows/vacuum-integration-tests.yml b/.github/workflows/vacuum-integration-tests.yml index 889b9f116..e9f2a4ce1 100644 --- a/.github/workflows/vacuum-integration-tests.yml +++ b/.github/workflows/vacuum-integration-tests.yml @@ -30,7 +30,7 @@ jobs: - name: Set up Go 1.x uses: actions/setup-go@v7 with: - go-version: ^1.25 + go-version: ^1.26 id: go - name: Check out code into the Go module directory diff --git a/docker/Dockerfile.foundationdb_large b/docker/Dockerfile.foundationdb_large index aec40acdc..9ec3e137f 100644 --- a/docker/Dockerfile.foundationdb_large +++ b/docker/Dockerfile.foundationdb_large @@ -1,4 +1,4 @@ -FROM golang:1.25 AS builder +FROM golang:1.26 AS builder RUN apt-get update && \ apt-get install -y build-essential wget ca-certificates && \ diff --git a/docker/Dockerfile.go_build b/docker/Dockerfile.go_build index 285748298..6ca519257 100644 --- a/docker/Dockerfile.go_build +++ b/docker/Dockerfile.go_build @@ -1,6 +1,6 @@ # Pin the builder to the host arch and cross-compile the (CGO-free) Go binary, # so arm64/arm/386 targets skip QEMU emulation of the whole compile. -FROM --platform=$BUILDPLATFORM golang:1.25-alpine AS builder +FROM --platform=$BUILDPLATFORM golang:1.26-alpine AS builder RUN apk add git g++ fuse RUN mkdir -p /go/src/github.com/seaweedfs/ ARG BRANCH=${BRANCH:-master} diff --git a/docker/Dockerfile.rocksdb_dev_env b/docker/Dockerfile.rocksdb_dev_env index 20123db64..95154c373 100644 --- a/docker/Dockerfile.rocksdb_dev_env +++ b/docker/Dockerfile.rocksdb_dev_env @@ -1,4 +1,4 @@ -FROM golang:1.25 AS builder +FROM golang:1.26 AS builder RUN apt-get update RUN apt-get install -y build-essential libsnappy-dev zlib1g-dev libbz2-dev libgflags-dev liblz4-dev libzstd-dev diff --git a/docker/Dockerfile.rocksdb_large b/docker/Dockerfile.rocksdb_large index 0274d2940..d902c544e 100644 --- a/docker/Dockerfile.rocksdb_large +++ b/docker/Dockerfile.rocksdb_large @@ -1,4 +1,4 @@ -FROM golang:1.25 AS builder +FROM golang:1.26 AS builder RUN apt-get update RUN apt-get install -y build-essential libsnappy-dev zlib1g-dev libbz2-dev libgflags-dev liblz4-dev libzstd-dev diff --git a/seaweedfs-rdma-sidecar/Dockerfile.sidecar b/seaweedfs-rdma-sidecar/Dockerfile.sidecar index 87bf9b33e..d5f21c7e7 100644 --- a/seaweedfs-rdma-sidecar/Dockerfile.sidecar +++ b/seaweedfs-rdma-sidecar/Dockerfile.sidecar @@ -1,5 +1,5 @@ # Multi-stage build for Go Sidecar -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Install build dependencies RUN apk add --no-cache git ca-certificates tzdata diff --git a/seaweedfs-rdma-sidecar/Dockerfile.test-client b/seaweedfs-rdma-sidecar/Dockerfile.test-client index 8798635ea..99d015bcb 100644 --- a/seaweedfs-rdma-sidecar/Dockerfile.test-client +++ b/seaweedfs-rdma-sidecar/Dockerfile.test-client @@ -1,5 +1,5 @@ # Multi-stage build for Test Client -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Install build dependencies RUN apk add --no-cache git ca-certificates tzdata diff --git a/seaweedfs-rdma-sidecar/README.md b/seaweedfs-rdma-sidecar/README.md index 402a992a5..559da79de 100644 --- a/seaweedfs-rdma-sidecar/README.md +++ b/seaweedfs-rdma-sidecar/README.md @@ -61,7 +61,7 @@ This project implements a **high-performance RDMA (Remote Direct Memory Access) ```bash # Required dependencies -- Go 1.23+ +- Go 1.26+ - Rust 1.70+ - UCX libraries (for hardware RDMA) - Linux with RDMA-capable hardware (InfiniBand/RoCE) diff --git a/telemetry/server/Dockerfile b/telemetry/server/Dockerfile index 76fcb54cc..beb169424 100644 --- a/telemetry/server/Dockerfile +++ b/telemetry/server/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder WORKDIR /app diff --git a/test/foundationdb/Dockerfile.build b/test/foundationdb/Dockerfile.build index 58887acbb..b93ca7456 100644 --- a/test/foundationdb/Dockerfile.build +++ b/test/foundationdb/Dockerfile.build @@ -1,6 +1,6 @@ # Simplified single-stage build for SeaweedFS with FoundationDB support # Force x86_64 platform to use AMD64 FoundationDB packages -FROM --platform=linux/amd64 golang:1.25-bookworm +FROM --platform=linux/amd64 golang:1.26-bookworm ARG FOUNDATIONDB_VERSION=7.4.5 ENV FOUNDATIONDB_VERSION=${FOUNDATIONDB_VERSION} @@ -43,7 +43,7 @@ WORKDIR /build # Copy source code COPY . . -# Using Go 1.24 to match project requirements +# Using Go 1.26 to match project requirements # Download dependencies (using versions from go.mod for deterministic builds) RUN go mod download diff --git a/test/foundationdb/Dockerfile.build.arm64 b/test/foundationdb/Dockerfile.build.arm64 index d62d7eda8..24c47f590 100644 --- a/test/foundationdb/Dockerfile.build.arm64 +++ b/test/foundationdb/Dockerfile.build.arm64 @@ -1,5 +1,5 @@ # Multi-stage Dockerfile to build SeaweedFS with FoundationDB support for ARM64 -FROM --platform=linux/arm64 golang:1.25-bookworm AS builder +FROM --platform=linux/arm64 golang:1.26-bookworm AS builder ARG FOUNDATIONDB_VERSION=7.4.5 ENV FOUNDATIONDB_VERSION=${FOUNDATIONDB_VERSION} diff --git a/test/foundationdb/Dockerfile.test b/test/foundationdb/Dockerfile.test index 70191f08b..3e16ff10d 100644 --- a/test/foundationdb/Dockerfile.test +++ b/test/foundationdb/Dockerfile.test @@ -1,5 +1,5 @@ # Test environment with Go and FoundationDB support -FROM golang:1.25-bookworm +FROM golang:1.26-bookworm # Install system dependencies RUN apt-get update && apt-get install -y \ diff --git a/test/fuse_integration/Makefile b/test/fuse_integration/Makefile index 3c1e68d59..1da4647de 100644 --- a/test/fuse_integration/Makefile +++ b/test/fuse_integration/Makefile @@ -2,7 +2,7 @@ # Configuration WEED_BINARY := weed -GO_VERSION := 1.24 +GO_VERSION := 1.26 TEST_TIMEOUT := 30m COVERAGE_FILE := coverage.out diff --git a/test/fuse_integration/README.md b/test/fuse_integration/README.md index 8c0387806..3cae4b388 100644 --- a/test/fuse_integration/README.md +++ b/test/fuse_integration/README.md @@ -216,7 +216,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: - go-version: '1.24' + go-version: '1.26' - name: Install FUSE run: sudo apt-get install -y fuse @@ -232,7 +232,7 @@ jobs: ### Docker Testing ```dockerfile -FROM golang:1.24 +FROM golang:1.26 RUN apt-get update && apt-get install -y fuse COPY . /seaweedfs WORKDIR /seaweedfs diff --git a/test/kafka/Dockerfile.kafka-gateway b/test/kafka/Dockerfile.kafka-gateway index 32b3d4663..a1300b070 100644 --- a/test/kafka/Dockerfile.kafka-gateway +++ b/test/kafka/Dockerfile.kafka-gateway @@ -1,5 +1,5 @@ # Dockerfile for Kafka Gateway Integration Testing -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Install build dependencies RUN apk add --no-cache git make gcc musl-dev sqlite-dev diff --git a/test/kafka/Dockerfile.seaweedfs b/test/kafka/Dockerfile.seaweedfs index ce889e25e..84ddac3a9 100644 --- a/test/kafka/Dockerfile.seaweedfs +++ b/test/kafka/Dockerfile.seaweedfs @@ -1,5 +1,5 @@ # Dockerfile for building SeaweedFS components from the current workspace -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder RUN apk add --no-cache git make gcc musl-dev sqlite-dev diff --git a/test/kafka/Dockerfile.test-setup b/test/kafka/Dockerfile.test-setup index e4290ecda..d5026c075 100644 --- a/test/kafka/Dockerfile.test-setup +++ b/test/kafka/Dockerfile.test-setup @@ -1,5 +1,5 @@ # Dockerfile for Kafka Integration Test Setup -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Install build dependencies RUN apk add --no-cache git make gcc musl-dev diff --git a/test/kafka/kafka-client-loadtest/Dockerfile.loadtest b/test/kafka/kafka-client-loadtest/Dockerfile.loadtest index b16bdb9c0..5e157744e 100644 --- a/test/kafka/kafka-client-loadtest/Dockerfile.loadtest +++ b/test/kafka/kafka-client-loadtest/Dockerfile.loadtest @@ -2,7 +2,7 @@ # Multi-stage build for cross-platform support # Stage 1: Builder -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder WORKDIR /app diff --git a/test/kafka/kafka-client-loadtest/README.md b/test/kafka/kafka-client-loadtest/README.md index 4f465a21b..49375323b 100644 --- a/test/kafka/kafka-client-loadtest/README.md +++ b/test/kafka/kafka-client-loadtest/README.md @@ -314,7 +314,7 @@ make dev-env # Build load test binary make build -# Run tests locally (requires Go 1.21+) +# Run tests locally (requires Go 1.26+) cd cmd/loadtest && go run main.go -config ../../config/loadtest.yaml ``` diff --git a/test/postgres/Dockerfile.client b/test/postgres/Dockerfile.client index 789de6451..53871de1c 100644 --- a/test/postgres/Dockerfile.client +++ b/test/postgres/Dockerfile.client @@ -1,4 +1,4 @@ -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Set working directory WORKDIR /app diff --git a/test/postgres/Dockerfile.producer b/test/postgres/Dockerfile.producer index 77396ab1d..b64cd6a5c 100644 --- a/test/postgres/Dockerfile.producer +++ b/test/postgres/Dockerfile.producer @@ -1,4 +1,4 @@ -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Set working directory WORKDIR /app diff --git a/test/postgres/Dockerfile.seaweedfs b/test/postgres/Dockerfile.seaweedfs index 951c4b034..b6f75d4db 100644 --- a/test/postgres/Dockerfile.seaweedfs +++ b/test/postgres/Dockerfile.seaweedfs @@ -1,4 +1,4 @@ -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Install git and other build dependencies RUN apk add --no-cache git make diff --git a/test/s3/iam/Dockerfile.s3 b/test/s3/iam/Dockerfile.s3 index 52ba670a5..75b86c3a1 100644 --- a/test/s3/iam/Dockerfile.s3 +++ b/test/s3/iam/Dockerfile.s3 @@ -1,5 +1,5 @@ # Multi-stage build for SeaweedFS S3 with IAM -FROM golang:1.25-alpine AS builder +FROM golang:1.26-alpine AS builder # Install build dependencies RUN apk add --no-cache git make curl wget diff --git a/test/s3/iam/README.md b/test/s3/iam/README.md index b28d0d262..f6ebbdab2 100644 --- a/test/s3/iam/README.md +++ b/test/s3/iam/README.md @@ -83,7 +83,7 @@ The S3 IAM integration tests validate the complete end-to-end functionality of: ### Prerequisites -1. **Go 1.19+** with modules enabled +1. **Go 1.26+** with modules enabled 2. **SeaweedFS Binary** (`weed`) built with IAM support 3. **Test Dependencies**: ```bash @@ -425,7 +425,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: - go-version: '1.19' + go-version-file: 'go.mod' - name: Build SeaweedFS run: go build -o weed ./main.go