Releases: CodSpeedHQ/action
Release list
v4.18.1
Release Notes
🚀 Features
- Bump go-runner to 1.2.1 by @adriencaccia in #421
Install codspeed-runner 4.18.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.18.1/codspeed-runner-installer.sh | shDownload codspeed-runner 4.18.1
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
v4.18.0
Release Notes
🚀 Features
- Bump valgrind-codspeed to 3.26.0-0codspeed4
- Bump samply by @GuillaumeLagrange in #415
- Set env var to have node dump inlining information by @GuillaumeLagrange
- Change isolation logic to include samply and non root fallback by @GuillaumeLagrange
- Add experimental --cycle-estimation flag by @not-matthias in #412
- Make samply-codspeed a submodule rather than git rev with cargo by @GuillaumeLagrange in #416
🐛 Bug Fixes
- Honor locally-installed valgrind on non-apt systems by @not-matthias in #414
Install codspeed-runner 4.18.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.18.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.18.0
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
v4.17.6
Release Notes
🚀 Features
- feat: skip hash check error when installing pre-release by @GuillaumeLagrange in #215
- Show memtrack capability status in setup status by @not-matthias
- Run memtrack sudo-less via file capabilities by @not-matthias
- Use extra events when using samply on linux by @GuillaumeLagrange in #404
- Update
PerfEventto also support samply format by @GuillaumeLagrange - Use isolation for with samply by @GuillaumeLagrange
- Make eh_frame_hdr optional in unwind data (V4) by @not-matthias
🐛 Bug Fixes
- Keep rolling buffer off during executor setup by @not-matthias in #411
- Gate memory executor behind Linux target by @not-matthias
- Enable tracking when running without IPC by @not-matthias
- Tolerate RLIMIT_MEMLOCK EPERM on modern kernels by @not-matthias
- Install libc6-dbg during valgrind setup by @not-matthias in #394
- Skip rustup-wrapped proxy in trace-children by @not-matthias in #405
- Retry streamed uploads on transient failures by @not-matthias in #399
- Extract unwind data for binaries without eh_frame_hdr by @not-matthias
💼 Other
🏗️ Refactor
- Split executor privilege granting into grant_privileges by @not-matthias
📚 Documentation
- Add unwind data version changelog by @not-matthias in #393
⚙️ Internals
- chore: bump runner version to 4.17.6 by @github-actions[bot] in #216
- Grant memtrack file capabilities before memory tests by @not-matthias in #407
- Bump samply to support additional events by @GuillaumeLagrange
- Add helper script to use local versions of samply and framehop easily by @GuillaumeLagrange
Install codspeed-runner 4.17.6
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.17.6/codspeed-runner-installer.sh | shDownload codspeed-runner 4.17.6
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
Full Changelog: v4.17.5...v4.17.6
v4.17.5
Release Notes
This release bundles all runner changes from 4.17.1 through 4.17.5.
🚀 Features
- Add optional
modearg to target setup by @fargito in #397 - Restore DYLD_INSERT_LIBRARIES from SAMPLY_ alias by @not-matthias
- Bump valgrind-codspeed to 3.26.0-0codspeed3 by @adriencaccia
🐛 Bug Fixes
- Purge inherited mappings on execve to fix unknown symbols (#392) by @GuillaumeLagrange in #392
- Use %p in log file path to avoid multi-process overwrite by @not-matthias in #381
- Compare codspeed iteration of installed valgrind by @not-matthias
💼 Other
- Enable set -u to match go.sh by @not-matthias in #389
🏗️ Refactor
- Parse codspeed iteration from version string by @not-matthias
⚙️ Internals
- Bump samply by @not-matthias
- Bump samply to fix sigkill by @not-matthias in #386
- Log detected valgrind version by @not-matthias in #390
- Bump samply-codspeed to disable jit classification and add fp-anchoring to unwinding (#382) by @GuillaumeLagrange in #382
Install codspeed-runner 4.17.5
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.17.5/codspeed-runner-installer.sh | shDownload codspeed-runner 4.17.5
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
Full Changelog: v4.17.0...v4.17.5
v4.17.0
Release Notes
🚀 Features
- Configure samply symbol resolution env vars by @not-matthias
- Add CODSPEED_WALLTIME_PROFILER override by @not-matthias
- Make benchmark isolation profiler-driven by @not-matthias
- Add profile-based auth configuration (#366) by @art049 in #366
- Bump instrument-hooks to not use stubs on macos (#373) by @GuillaumeLagrange in #373
- Pin codspeed-go-runner installer downloads with sha256 verification by @art049 in #362
- Pin downloaded binaries with sha256 verification by @art049
- Search NixOS debug info path by @not-matthias in #354
- Inherit process mapping on forks by @GuillaumeLagrange
- Bundle samply via library crate by @not-matthias
- Add samply profiler for macOS by @not-matthias
- Rename CODSPEED_PERF_ENABLED to CODSPEED_PROFILER_ENABLED by @not-matthias
- Add Profiler trait abstraction by @not-matthias
- Restore cursor on ctrl c by @GuillaumeLagrange in #341
- Validate tokens and repository access up front by @GuillaumeLagrange
🐛 Bug Fixes
- Use introspected env for memory executor by @GuillaumeLagrange
- Misleading DCE advice in setup-harness (#350) by @SuperMuel in #350
- Flush rolling buffer when executor errors by @not-matthias in #352
- Use brew-installed bash for samply on macOS by @not-matthias in #347
- Keep old name aliases to for deserialization purposes by @GuillaumeLagrange in #345
- Handle malformed token from backend better by @GuillaumeLagrange
- Disable PYTHON_PERF_JIT_SUPPORT on macOS by @not-matthias
- Use mach_absolute_time for FIFO timestamps on macOS by @not-matthias
- Use O_RDWR to open FIFOs on all Unix platforms by @not-matthias
💼 Other
- Select profiler via typed CLI arg by @GuillaumeLagrange in #379
- Bump workspace dependencies (#370) by @art049 in #370
- Make api_client the single source of truth for the auth token by @GuillaumeLagrange
- Bump gql_client to partial-data fork by @GuillaumeLagrange
🏗️ Refactor
- Centralize internal re-exec via InternalCommands::get_command_builder by @not-matthias in #338
- Rename Benchmark FIFO commands/markers to Profiler/Round by @not-matthias
- Rename Profiler::wrap to wrap_command by @not-matthias
- Share Linux profiler sysctl setup by @not-matthias
- Port PerfRunner to Profiler trait by @not-matthias
- Rename PerfMetadata to WalltimeMetadata by @not-matthias
- Move perf module under profiler/ by @not-matthias
- Rename FifoCommand::PingPerf to PingProfiler by @not-matthias
- Rename IntegrationMode::Perf to Walltime by @not-matthias
🧪 Testing
- Update valgrind snapshot tests by @adriencaccia
⚙️ Internals
- Add taplo config file by @GuillaumeLagrange in #363
- Bump samply fork to use framehop-codspeed by @not-matthias
- Add retry to sha256 tests to prevent transient failures by @GuillaumeLagrange in #375
- Update setarch command arguments to use long options (#304) by @xtqqczze in #304
- Bump valgrind-codspeed to 3.26.0-0codspeed2
- Fix macOS rustup cache corruption in install-rust action by @GuillaumeLagrange in #357
- Give each bpf-tests shard its own cache key by @not-matthias in #358
- Shard bpf-tests by integration test binary by @not-matthias
- Use rustup show instead of toolchain install by @GuillaumeLagrange in #349
- Disable profiler in macos-basic-run-test by @not-matthias
- Upload the basic run to validate auth of integration test by @GuillaumeLagrange
- Move samply fork from AvalancheHQ to CodSpeedHQ by @not-matthias
- Remove the cursor hiding by @GuillaumeLagrange
Install codspeed-runner 4.17.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.17.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.17.0
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
Full Changelog: v4.15.1...v4.17.0
v4.15.1
Release Notes
🚀 Features
- Add a way to disable perf compression through env var by @GuillaumeLagrange in #334
- Do not display the comparison nudge when not in an interactive terminal by @GuillaumeLagrange in #300
- Display a warning when profiling generation failed by @GuillaumeLagrange
- Detect and abort on ring buffer overflow by @not-matthias in #321
- Grow ring buffer to 16 MiB by @not-matthias
⚙️ Internals
- chore: bump runner version to 4.15.1 by @github-actions[bot] in #205
- Increase stack sampling for python by @GuillaumeLagrange in #337
- Replace hard coded lint job for a dedicated check action by @GuillaumeLagrange in #320
- Bump cpp-linter-hooks to support darwin by @GuillaumeLagrange
- Swap pre-commit action for prek by @GuillaumeLagrange
- Fix unused clippy errors in test targets on macos by @GuillaumeLagrange
- Run pre-commit hooks on macos and ubuntu-latest by @GuillaumeLagrange
Install codspeed-runner 4.15.1
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.15.1/codspeed-runner-installer.sh | shDownload codspeed-runner 4.15.1
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
Full Changelog: v4.15.0...v4.15.1
v4.15.0
Release Notes
This release adds first support for macOS walltime.
Please note that profiling and other instruments are not yet available on macOS and will come in a later update.
Minimum integration versions
pytest-codspeedv4.5.0codspeed-rustv4.6.0codspeed-cppv2.3.0codspeed-gov1.2.0codspeed-nodev5.4.0
🚀 Features
- Revert logo changes by @GuillaumeLagrange
- Display N/A rather than NaN/inf in the benchmarks results table by @GuillaumeLagrange in #314
- Only wrap walltime command with sudo on linux by @GuillaumeLagrange
- Add
--with-tokenflag to read token from stdin by @fargito in #313 - Warn when libc debug info is not found by @not-matthias in #310
- Resolve debug info and symbols from separate debug files by @not-matthias in #303
🧪 Testing
- Add libc debuglink/build-id fixtures by @not-matthias
- Add stripped binary and debug file test fixtures by @not-matthias
⚙️ Internals
- chore: bump runner version to 4.15.0 by @github-actions[bot] in #204
- Bump exec-harness version
- Add macos basic run test by @GuillaumeLagrange in #319
- Remove DumpPerfMapAtExit in favor of custom dumper by @not-matthias in #295
Install codspeed-runner 4.15.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.15.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.15.0
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
Full Changelog: v4.14.0...v4.15.0
v4.14.0
Release Notes
We now collect buildtime and runtime environment data to warn users about differences in their runtime environment when comparing two runs against one another.
This data includes toolchain metadata like version and build options, as well as a list of dynamically loaded linked libraries.
Minimum integration versions
To support the runtime metadata collection, make sure to use at least the following versions:
pytest-codspeedv4.4.0codspeed-rustv4.5.0codspeed-cppv2.2.0codspeed-gov1.1.0codspeed-nodev5.3.0
🚀 Features
- Stop panicking when parsing invalid perf file by @GuillaumeLagrange in #298
- Make the basic run only 5 rounds to make logs not crash the github page by @GuillaumeLagrange
- Represent the host OS as a SupportedOs enum with per-executor support gates by @GuillaumeLagrange
- Bypass systemd-run usage on macos by @GuillaumeLagrange
- Add aarch64-apple-darwin to the release targets by @GuillaumeLagrange
- Collect cpu flags in system info by @GuillaumeLagrange in #281
🐛 Bug Fixes
- Fix instropected_go's behavior on macos by @GuillaumeLagrange
- Update rust crate git2 to 0.20.4 (#284) by @xtqqczze in #284
⚙️ Internals
- chore: bump runner version to 4.14.0 by @github-actions[bot] in #203
- Move the config schema check from pre-commit to ci-only check by @GuillaumeLagrange in #287
- Skip tests that rely on linux behavior by @GuillaumeLagrange
- Bump instrument-hooks submodule to include stubs improvement by @GuillaumeLagrange
- Rerun exec harness build if instrument hooks sources change by @GuillaumeLagrange
- Make update-bindings.sh PWD agnostic by @GuillaumeLagrange
Install codspeed-runner 4.14.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.14.0/codspeed-runner-installer.sh | shDownload codspeed-runner 4.14.0
| File | Platform | Checksum |
|---|---|---|
| codspeed-runner-aarch64-apple-darwin.tar.gz | Apple Silicon macOS | checksum |
| codspeed-runner-aarch64-unknown-linux-musl.tar.gz | ARM64 MUSL Linux | checksum |
| codspeed-runner-x86_64-unknown-linux-musl.tar.gz | x64 MUSL Linux | checksum |
Full Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md
Full Changelog: v4.13.1...v4.14.0
v4.13.1
What's Changed
- build(deps)!: update actions to Node.js 24 runtime by @shaanmajid in #201
New Contributors
- @shaanmajid made their first contribution in #201
Full Changelog: v4.13.0...v4.13.1
v4.13.0
Release Notes
We added support for a new experimental flag --experimental-fair-sched to have valgrind use the --fair-sched argument.
Usage in the action:
- name: Run the benchmarks
uses: CodSpeedHQ/action@v4
env:
CODSPEED_EXPERIMENTAL_FAIR_SCHED: "true"
with:
run: cargo codspeed run # Replace with your command
mode: simulationFull Runner Changelog: https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md