-
Notifications
You must be signed in to change notification settings - Fork 0
feat: build golang tests with codspeed instrumentation #3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: cod-1172-create-codspeed-go-repository-with-the-compat-layer
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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
d6f5b20
to
19b4e2a
Compare
19b4e2a
to
3256718
Compare
The process is split into multiple parts:
t *testing.B
parameter isn't passed to a function.cli/runner.go
main file with the benchmarks.testing
to our codspeed compat packagecli/runner.go
and outputs the binary.