feat: build golang tests with codspeed instrumentation#3
Closed
not-matthias wants to merge 12 commits intocod-1172-create-codspeed-go-repository-with-the-compat-layerfrom
Conversation
a07be40 to
2a8aeb7
Compare
CodSpeed Performance ReportCongrats! CodSpeed is installed 🎉
You will start to see performance impacts in the reports once the benchmarks are run from your default branch.
|
There was a problem hiding this comment.
Pull Request Overview
This PR introduces comprehensive support for building and running Golang benchmarks with CodSpeed instrumentation. The implementation includes benchmark discovery, Go source patching, template generation, and walltime results collection for performance measurement integration.
Key Changes
- Implements a Rust-based Go benchmark runner with build and run commands
- Adds benchmark discovery and verification for Go test packages
- Creates source patching to replace standard testing imports with CodSpeed compatibility layer
Reviewed Changes
Copilot reviewed 51 out of 55 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| go-runner/src/*.rs | Core Rust implementation for Go benchmark runner with discovery, templating, and results collection |
| go-runner/testdata/* | Test data files including benchmark samples, raw results, and project submodules |
| example/* | Example Go project with benchmark tests and module configuration |
| .github/workflows/ci.yml | CI pipeline configuration for testing and integration |
| .gitmodules | Git submodule configuration for test projects |
dcf15e8 to
f7f1704
Compare
b42e942 to
67724e3
Compare
2489402 to
38eeb58
Compare
eb105da to
a6120d0
Compare
0732b10 to
09c7fbe
Compare
3b94c33 to
ff3fe96
Compare
b3157b1 to
ad38705
Compare
c82233c to
b6b8e62
Compare
ad38705 to
db00ce3
Compare
b6b8e62 to
de1e231
Compare
19b4e2a to
3256718
Compare
2fe2ba6 to
84170f9
Compare
e5f3d7d to
fba63ab
Compare
84170f9 to
d26a095
Compare
d26a095 to
5f0221e
Compare
5f0221e to
fcf5f00
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The process is split into multiple parts:
t *testing.Bparameter isn't passed to a function.cli/runner.gomain file with the benchmarks.testingto our codspeed compat packagecli/runner.goand outputs the binary.