From 2a07b6d9db071a9860f0033022b504a3f7ded53a Mon Sep 17 00:00:00 2001 From: Thomas Pelletier Date: Sun, 4 Jan 2026 13:59:18 -0500 Subject: [PATCH] Update to Go 1.25 (#1018) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Update CI workflows to test against Go 1.24 and 1.25, and use Go 1.25 for coverage and release builds. ## Benchstat Report: Go 1.24 vs Go 1.25 Benchmark comparison between Go 1.24.7 and Go 1.25.1 (10 runs each): ### Execution Time (sec/op) | Benchmark | Go 1.24 | Go 1.25 | Delta | |-----------|---------|---------|-------| | UnmarshalDataset/config | 26.25ms | 26.00ms | ~ (p=0.280) | | UnmarshalDataset/canada | 88.71ms | 84.94ms | **-4.26%** ✅ | | UnmarshalDataset/citm_catalog | 33.71ms | 34.06ms | ~ (p=0.684) | | UnmarshalDataset/twitter | 17.19ms | 17.33ms | ~ (p=0.971) | | UnmarshalDataset/code | 107.4ms | 108.1ms | ~ (p=0.393) | | UnmarshalDataset/example | 237.9µs | 251.3µs | +5.64% | | Unmarshal/SimpleDocument/struct | 872.3ns | 848.9ns | ~ (p=0.165) | | Unmarshal/SimpleDocument/map | 1.191µs | 1.278µs | +7.31% | | Unmarshal/ReferenceFile/struct | 57.14µs | 57.95µs | ~ (p=0.089) | | Unmarshal/ReferenceFile/map | 87.89µs | 92.88µs | +5.69% | | Unmarshal/HugoFrontMatter | 16.06µs | 15.95µs | ~ (p=0.529) | | Marshal/SimpleDocument/struct | 536.5ns | 563.5ns | +5.03% | | Marshal/SimpleDocument/map | 651.0ns | 675.1ns | +3.72% | | Marshal/ReferenceFile/struct | 44.63µs | 50.84µs | +13.91% | | Marshal/ReferenceFile/map | 51.58µs | 57.06µs | +10.61% | | Marshal/HugoFrontMatter | 10.04µs | 10.57µs | +5.27% | | **geomean** | 140.6µs | 145.1µs | +3.18% | ### Summary - Notable improvement: UnmarshalDataset/canada shows a 4.26% speedup - Memory allocation and allocation counts remain identical - Some marshal operations show slight slowdowns (likely Go runtime changes) Co-authored-by: Claude --- .github/workflows/coverage.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/workflow.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index da9ff4c..3904336 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -15,6 +15,6 @@ jobs: - name: Setup go uses: actions/setup-go@v6 with: - go-version: "1.24" + go-version: "1.25" - name: Run tests with coverage run: ./ci.sh coverage -d "${GITHUB_BASE_REF-HEAD}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a867c44..48b9ef5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v6 with: - go-version: "1.24" + go-version: "1.25" - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index b74dc2a..7a685ce 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [ 'ubuntu-latest', 'windows-latest', 'macos-latest', 'macos-14' ] - go: [ '1.23', '1.24' ] + go: [ '1.24', '1.25' ] runs-on: ${{ matrix.os }} name: ${{ matrix.go }}/${{ matrix.os }} steps: