Skip to content

feat: bump go-runner to 1.2.1#421

Merged
adriencaccia merged 2 commits into
mainfrom
cod-2990-release-runner
Jun 24, 2026
Merged

feat: bump go-runner to 1.2.1#421
adriencaccia merged 2 commits into
mainfrom
cod-2990-release-runner

Conversation

@adriencaccia

Copy link
Copy Markdown
Member

Bump the default codspeed-go runner to 1.2.1 and pin its installer SHA-256.

This updates DEFAULT_GO_RUNNER_VERSION and adds the matching
<version> <sha256> row to the GO_RUNNER_INSTALLER_SHA256S table in
go.sh. The pinned hash is verified by GITHUB_ACTIONS=true cargo test all_pinned, which passed locally.

Also documents the two-location pinning setup (src/binary_pins.rs and the
go-runner table) in CONTRIBUTING.md, and the test-driven workflow for getting
a new hash from the verification-test failure rather than computing it by hand.

Refs rather than Closes: this PR is the prerequisite bump — the 4.18.1
runner release (the cargo release tag) is the follow-up step that resolves the
issue.

Refs COD-2990

adriencaccia and others added 2 commits June 24, 2026 12:16
Update DEFAULT_GO_RUNNER_VERSION to 1.2.1 and add the matching
SHA-256-pinned installer row to the GO_RUNNER_INSTALLER_SHA256S table.
The pinned hash is verified by `cargo test all_pinned`.

Refs COD-2990
Co-Authored-By: Claude <noreply@anthropic.com>
Explain that pinned hashes live in two places (src/binary_pins.rs and
the go-runner table in go.sh), and document getting the SHA-256 from the
`cargo test all_pinned` failure output instead of computing it by hand.

Co-Authored-By: Claude <noreply@anthropic.com>
@greptile-apps

greptile-apps Bot commented Jun 24, 2026

Copy link
Copy Markdown

Greptile Summary

Bumps the default codspeed-go runner to 1.2.1 by adding a new <version> <sha256> row to GO_RUNNER_INSTALLER_SHA256S in go.sh and updating DEFAULT_GO_RUNNER_VERSION. The companion CONTRIBUTING.md update documents the two-location pinning setup (src/binary_pins.rs and the go-runner table) and the test-driven workflow for deriving new hashes.

  • go.sh: appends 1.2.1 5c90675148a23fd550681033b5589b39b8e66a8ea372d27befd580be0cc535f4 to the SHA-256 table and sets DEFAULT_GO_RUNNER_VERSION="1.2.1".
  • CONTRIBUTING.md: replaces the single-location hash doc with a two-section explanation covering both src/binary_pins.rs and go.sh, and introduces the placeholder-hash / test-failure workflow for obtaining correct hashes.

Confidence Score: 5/5

Safe to merge — the change is a two-line data update (new table row + default version bump) with no logic modifications, and the hash was validated by the all_pinned test suite.

The go.sh change only appends a row to the SHA-256 lookup table and updates the default pointer; the verification path (lookup → download → hash comparison → execute) is unchanged. The 64-character hash is well-formed, the PR description confirms the test passed locally, and CI runs the same test. The CONTRIBUTING.md edits are purely documentation.

No files require special attention.

Important Files Changed

Filename Overview
src/executor/helpers/introspected_golang/go.sh Adds 1.2.1 row to the GO_RUNNER_INSTALLER_SHA256S table (64-char SHA-256) and bumps DEFAULT_GO_RUNNER_VERSION; no logic changes.
CONTRIBUTING.md Expands the "Pinned binary hashes" section to document both pin locations and the test-driven hash workflow; no code impact.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[go.sh invoked with 'test'] --> B{codspeed-go-runner installed?}
    B -- Yes --> E[Run go-runner]
    B -- No --> C[Read CODSPEED_GO_RUNNER_VERSION\nor DEFAULT_GO_RUNNER_VERSION=1.2.1]
    C --> D[get_go_runner_installer_sha256\nlookup in GO_RUNNER_INSTALLER_SHA256S table]
    D --> F[curl download installer]
    F --> G[sha256_file verify against pinned hash]
    G -- mismatch --> H[exit 1 ERROR]
    G -- match --> I[bash installer --quiet]
    I --> E
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[go.sh invoked with 'test'] --> B{codspeed-go-runner installed?}
    B -- Yes --> E[Run go-runner]
    B -- No --> C[Read CODSPEED_GO_RUNNER_VERSION\nor DEFAULT_GO_RUNNER_VERSION=1.2.1]
    C --> D[get_go_runner_installer_sha256\nlookup in GO_RUNNER_INSTALLER_SHA256S table]
    D --> F[curl download installer]
    F --> G[sha256_file verify against pinned hash]
    G -- mismatch --> H[exit 1 ERROR]
    G -- match --> I[bash installer --quiet]
    I --> E
Loading

Reviews (1): Last reviewed commit: "docs: document go-runner hash table and ..." | Re-trigger Greptile

@codspeed-hq

codspeed-hq Bot commented Jun 24, 2026

Copy link
Copy Markdown

Merging this PR will not alter performance

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

✅ 7 untouched benchmarks


Comparing cod-2990-release-runner (4d094a3) with main (618f1b1)

Open in CodSpeed

@adriencaccia adriencaccia merged commit 4d094a3 into main Jun 24, 2026
21 checks passed
@adriencaccia adriencaccia deleted the cod-2990-release-runner branch June 24, 2026 10:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant