This is an automated email from the ASF dual-hosted git repository. wu-sheng pushed a commit to branch feat/go1.24-1.26-base-images in repository https://gitbox.apache.org/repos/asf/skywalking-go.git
commit 039ef54bfe58d8d7e4621d70f31af129dbf15799 Author: Wu Sheng <[email protected]> AuthorDate: Tue Jun 16 23:29:38 2026 +0800 Add Go 1.24/1.25/1.26 base images; focus agent test matrix on supported releases - Makefile: add go1.24, go1.25, go1.26 base-image variants. Published variants now span Go 1.19 to 1.26; the existing 1.19-1.23 images are kept for backward compat. - CI build matrix (skywalking-go.yaml): build the agent on the supported Go releases (1.24, 1.25, 1.26), dropping EOL 1.19-1.23 (Go supports only the latest two). - Plugin scenarios: focus the core Go-version-sweep scenarios (cross-goroutine, http, runtime_metrics, metric/trace/logging-activation, pprof, so11y) on 1.24-1.26. - docs/en/setup/docker.md + CHANGES.md updated. The unit/instrument/race/lint job stays on the 1.19 baseline (go.mod floor unchanged). Validated locally on go1.26.1: the agent builds, instruments stdlib+runtime via `-toolexec -a`, and an instrumented service runs with the agent active without panic. --- .github/workflows/skywalking-go.yaml | 2 +- CHANGES.md | 1 + Makefile | 5 ++++- docs/en/setup/docker.md | 2 +- test/plugins/scenarios/cross-goroutine/plugin.yml | 7 ++----- test/plugins/scenarios/http/plugin.yml | 8 +++----- test/plugins/scenarios/logging-activation/plugin.yml | 8 +++----- test/plugins/scenarios/metric-activation/plugin.yml | 8 +++----- test/plugins/scenarios/pprof/plugin.yml | 8 +++----- test/plugins/scenarios/runtime_metrics/plugin.yml | 8 +++----- test/plugins/scenarios/so11y/plugin.yml | 12 +++--------- test/plugins/scenarios/trace-activation/plugin.yml | 8 +++----- 12 files changed, 30 insertions(+), 47 deletions(-) diff --git a/.github/workflows/skywalking-go.yaml b/.github/workflows/skywalking-go.yaml index f31138b..1bd3471 100644 --- a/.github/workflows/skywalking-go.yaml +++ b/.github/workflows/skywalking-go.yaml @@ -50,7 +50,7 @@ jobs: fail-fast: true matrix: os: [ ubuntu-latest, windows-latest ] - go-version: [ 1.19 ] + go-version: [ 1.24, 1.25, 1.26 ] runs-on: ${{ matrix.os }} timeout-minutes: 60 steps: diff --git a/CHANGES.md b/CHANGES.md index 6995609..74b754d 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -12,6 +12,7 @@ Release Notes. * Add mutex to fix some data race. * Replace external `goapi` dependency with in-repo generated protocols. * Support pprof profiling. +* Add Go 1.24, 1.25, and 1.26 base images for the agent (published variants now span Go 1.19 to 1.26). #### Plugins diff --git a/Makefile b/Makefile index 0447199..d869080 100644 --- a/Makefile +++ b/Makefile @@ -153,7 +153,7 @@ release: ## Build skywalking-go agent release /bin/sh tools/release/create_bin_release.sh /bin/sh tools/release/create_source_release.sh -base.all := go1.19 go1.20 go1.21 go1.22 go1.23 +base.all := go1.19 go1.20 go1.21 go1.22 go1.23 go1.24 go1.25 go1.26 base.each = $(word 1, $@) @@ -164,6 +164,9 @@ base.image.go1.20 := golang:1.20 base.image.go1.21 := golang:1.21 base.image.go1.22 := golang:1.22 base.image.go1.23 := golang:1.23 +base.image.go1.24 := golang:1.24 +base.image.go1.25 := golang:1.25 +base.image.go1.26 := golang:1.26 docker.%: PLATFORMS = docker.%: LOAD_OR_PUSH = --load diff --git a/docs/en/setup/docker.md b/docs/en/setup/docker.md index 3c2c63a..7c1d0da 100644 --- a/docs/en/setup/docker.md +++ b/docs/en/setup/docker.md @@ -23,7 +23,7 @@ RUN go build -toolexec="skywalking-go-agent" -a /path/to/project In the above code, we have performed the following actions: -1. Used the SkyWalking Go provided image as the base image, which currently supports the following Go versions: **1.19, 1.20, 1.21, 1.22, 1.23**. +1. Used the SkyWalking Go provided image as the base image, which currently supports the following Go versions: **1.19, 1.20, 1.21, 1.22, 1.23, 1.24, 1.25, 1.26**. 2. Copied the project into the Docker image. 3. Installed SkyWalking Go and compiled the project, [read this documentation for more detail](./gobuild.md). The SkyWalking Go agent is already installed in the `/usr/local/bin` directory with the name **skywalking-go-agent**. diff --git a/test/plugins/scenarios/cross-goroutine/plugin.yml b/test/plugins/scenarios/cross-goroutine/plugin.yml index e5f892b..833c881 100644 --- a/test/plugins/scenarios/cross-goroutine/plugin.yml +++ b/test/plugins/scenarios/cross-goroutine/plugin.yml @@ -20,9 +20,6 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 - go: 1.24 + - go: 1.25 + - go: 1.26 diff --git a/test/plugins/scenarios/http/plugin.yml b/test/plugins/scenarios/http/plugin.yml index 62ebfc6..ce0328d 100644 --- a/test/plugins/scenarios/http/plugin.yml +++ b/test/plugins/scenarios/http/plugin.yml @@ -20,8 +20,6 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 + - go: 1.24 + - go: 1.25 + - go: 1.26 diff --git a/test/plugins/scenarios/logging-activation/plugin.yml b/test/plugins/scenarios/logging-activation/plugin.yml index f8316f3..d0aacc1 100644 --- a/test/plugins/scenarios/logging-activation/plugin.yml +++ b/test/plugins/scenarios/logging-activation/plugin.yml @@ -20,9 +20,7 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 + - go: 1.24 + - go: 1.25 + - go: 1.26 toolkit: true diff --git a/test/plugins/scenarios/metric-activation/plugin.yml b/test/plugins/scenarios/metric-activation/plugin.yml index f8316f3..d0aacc1 100644 --- a/test/plugins/scenarios/metric-activation/plugin.yml +++ b/test/plugins/scenarios/metric-activation/plugin.yml @@ -20,9 +20,7 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 + - go: 1.24 + - go: 1.25 + - go: 1.26 toolkit: true diff --git a/test/plugins/scenarios/pprof/plugin.yml b/test/plugins/scenarios/pprof/plugin.yml index ada27b8..ee4cfd6 100644 --- a/test/plugins/scenarios/pprof/plugin.yml +++ b/test/plugins/scenarios/pprof/plugin.yml @@ -20,9 +20,7 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 + - go: 1.24 + - go: 1.25 + - go: 1.26 toolkit: true \ No newline at end of file diff --git a/test/plugins/scenarios/runtime_metrics/plugin.yml b/test/plugins/scenarios/runtime_metrics/plugin.yml index 62ebfc6..ce0328d 100644 --- a/test/plugins/scenarios/runtime_metrics/plugin.yml +++ b/test/plugins/scenarios/runtime_metrics/plugin.yml @@ -20,8 +20,6 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 + - go: 1.24 + - go: 1.25 + - go: 1.26 diff --git a/test/plugins/scenarios/so11y/plugin.yml b/test/plugins/scenarios/so11y/plugin.yml index fefe926..da75775 100644 --- a/test/plugins/scenarios/so11y/plugin.yml +++ b/test/plugins/scenarios/so11y/plugin.yml @@ -20,18 +20,12 @@ start-script: ./bin/startup.sh framework: github.com/gin-gonic/gin export-port: 8080 support-version: - - go: 1.19 + - go: 1.24 framework: - v1.9.0 - - go: 1.20 + - go: 1.25 framework: - v1.9.0 - - go: 1.21 - framework: - - v1.9.0 - - go: 1.22 - framework: - - v1.9.0 - - go: 1.23 + - go: 1.26 framework: - v1.9.0 \ No newline at end of file diff --git a/test/plugins/scenarios/trace-activation/plugin.yml b/test/plugins/scenarios/trace-activation/plugin.yml index 8a4daf9..5e23a6e 100644 --- a/test/plugins/scenarios/trace-activation/plugin.yml +++ b/test/plugins/scenarios/trace-activation/plugin.yml @@ -20,9 +20,7 @@ start-script: ./bin/startup.sh framework: go export-port: 8080 support-version: - - go: 1.19 - - go: 1.20 - - go: 1.21 - - go: 1.22 - - go: 1.23 + - go: 1.24 + - go: 1.25 + - go: 1.26 toolkit: true \ No newline at end of file
