e8dc9265a5
This PR contains the following updates: | Package | Type | Update | Change | Pending | |---|---|---|---|---| | [CodSpeedHQ/action](https://redirect.github.com/CodSpeedHQ/action) | action | minor | `v4.7.0` → `v4.10.4` | `v4.10.5` | --- ### Release Notes <details> <summary>CodSpeedHQ/action (CodSpeedHQ/action)</summary> ### [`v4.10.4`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.10.4) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.10.2...v4.10.4) ##### Release Notes ##### <!-- 0 -->🚀 Features - Check for repository existence before run in local runs by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​229](https://redirect.github.com/CodSpeedHQ/runner/pull/229) - Support pytest-codspeed memory profiling by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​225](https://redirect.github.com/CodSpeedHQ/runner/pull/225) - Attach to different jemalloc prefixed functions by [@​not-matthias](https://redirect.github.com/not-matthias) - Support tracking `libstdc++` by [@​not-matthias](https://redirect.github.com/not-matthias) - Track `posix_memalign` by [@​not-matthias](https://redirect.github.com/not-matthias) ##### <!-- 1 -->🐛 Bug Fixes - Check non-default allocators first by [@​not-matthias](https://redirect.github.com/not-matthias) - Reset owernship by [@​not-matthias](https://redirect.github.com/not-matthias) ##### <!-- 2 -->🏗️ Refactor - Use standard allocation API across allocators by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​212](https://redirect.github.com/CodSpeedHQ/runner/pull/212) ##### <!-- 7 -->⚙️ Internals - chore: bump runner version to 4.10.3 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​184](https://redirect.github.com/CodSpeedHQ/action/pull/184) - chore: bump runner version to 4.10.4 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​185](https://redirect.github.com/CodSpeedHQ/action/pull/185) - Use snapshots for c tests by [@​not-matthias](https://redirect.github.com/not-matthias) - Only run tests in CI by [@​not-matthias](https://redirect.github.com/not-matthias) - Use single thread for tests to avoid opening too many files by [@​not-matthias](https://redirect.github.com/not-matthias) - Add cpp allocator test by [@​not-matthias](https://redirect.github.com/not-matthias) - Add rust allocator tests by [@​not-matthias](https://redirect.github.com/not-matthias) - Allow tracking statically linked allocators in tests by [@​not-matthias](https://redirect.github.com/not-matthias) ##### Install codspeed-runner 4.10.4 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.10.4/codspeed-runner-installer.sh | sh ``` ##### Download codspeed-runner 4.10.4 | File | Platform | Checksum | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.4/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.4/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) | | [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.4/codspeed-runner-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.4/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256) | **Full Runner Changelog**: <https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md> **Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.10.2...v4.10.4> ### [`v4.10.2`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.10.2) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.10.1...v4.10.2) #### Release Notes ##### <!-- 0 -->🚀 Features - Improve efficiency of parse\_perf\_file by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Parse the perf file memory mappings by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) ##### <!-- 1 -->🐛 Bug Fixes - Remove very spammy trace logs by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​224](https://redirect.github.com/CodSpeedHQ/runner/pull/224) ##### <!-- 7 -->⚙️ Internals - chore: bump runner version to 4.10.2 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​183](https://redirect.github.com/CodSpeedHQ/action/pull/183) - Remove useless conversions. by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) #### Install codspeed-runner 4.10.2 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.10.2/codspeed-runner-installer.sh | sh ``` #### Download codspeed-runner 4.10.2 | File | Platform | Checksum | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.2/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.2/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) | | [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.2/codspeed-runner-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.2/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256) | **Full Runner Changelog**: <https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md> **Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.10.1...v4.10.2> ### [`v4.10.1`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.10.1) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.10.0...v4.10.1) #### Release Notes ##### <!-- 0 -->🚀 Features - Implement `codspeed use` to set mode for shell session by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​221](https://redirect.github.com/CodSpeedHQ/runner/pull/221) - Show codspeed banner in CI when exec\_harness is used by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Improve the result table display ([#​217](https://redirect.github.com/CodSpeedHQ/action/issues/217)) by [@​art049](https://redirect.github.com/art049) in [#​217](https://redirect.github.com/CodSpeedHQ/runner/pull/217) ##### <!-- 1 -->🐛 Bug Fixes - Initialize tracker before spawning sub-process by [@​not-matthias](https://redirect.github.com/not-matthias) ##### <!-- 2 -->🏗️ Refactor - Restructure event handling with a common header and improve event parsing by [@​not-matthias](https://redirect.github.com/not-matthias) - Create a module for shared structs between `exec` and `run` by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Remove logic from the run module by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Move the cli related module inside a cli module by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) ##### <!-- 7 -->⚙️ Internals - chore: bump runner version to 4.10.1 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​182](https://redirect.github.com/CodSpeedHQ/action/pull/182) - Bump memtrack version - Turn warning about overwritten unwind\_data into debug logs by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​223](https://redirect.github.com/CodSpeedHQ/runner/pull/223) - Fix cargo check on macOs by [@​adriencaccia](https://redirect.github.com/adriencaccia) - Remove `codspeed use` without argument in favor of `codspeed show` by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​222](https://redirect.github.com/CodSpeedHQ/runner/pull/222) - Add clang-format pre-commit hook by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​219](https://redirect.github.com/CodSpeedHQ/runner/pull/219) - Save both old and new addr for `realloc` event by [@​not-matthias](https://redirect.github.com/not-matthias) #### Install codspeed-runner 4.10.1 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/codspeed/releases/download/v4.10.1/codspeed-runner-installer.sh | sh ``` #### Download codspeed-runner 4.10.1 | File | Platform | Checksum | | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) | | [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/codspeed/releases/download/v4.10.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256) | **Full Runner Changelog**: <https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md> **Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.10.0...v4.10.1> ### [`v4.10.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.10.0) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.8.2...v4.10.0) #### Release Notes ##### <!-- 0 -->🚀 Features - Add pre-commit check to sync schema with code by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add binary to generate project config schema by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add command aliases by [@​art049](https://redirect.github.com/art049) in [#​216](https://redirect.github.com/CodSpeedHQ/runner/pull/216) ##### <!-- 1 -->🐛 Bug Fixes - Rename `targets` to `benchmarks` in the project\_config to match spec by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​220](https://redirect.github.com/CodSpeedHQ/runner/pull/220) - Use child process instead of pid/perf fifo for FIFO health check by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​201](https://redirect.github.com/CodSpeedHQ/runner/pull/201) - Make FIFO cancel-safe by [@​not-matthias](https://redirect.github.com/not-matthias) - Dont run health check in hot path by [@​not-matthias](https://redirect.github.com/not-matthias) - Update warning message format for go runner installation by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​218](https://redirect.github.com/CodSpeedHQ/runner/pull/218) - Tweaked exec-harness build for gcc15+ by [@​art049](https://redirect.github.com/art049) ##### <!-- 2 -->🏗️ Refactor - Move the whole runner logic under `lib.rs` to add other binaries by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) ##### <!-- 7 -->⚙️ Internals - Add cancel-safety test for FIFO by [@​not-matthias](https://redirect.github.com/not-matthias) - Remove cargo check from pre-commit by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​215](https://redirect.github.com/CodSpeedHQ/runner/pull/215) - Remove runner\_mode from project config by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Improve readme by [@​art049](https://redirect.github.com/art049) in [#​214](https://redirect.github.com/CodSpeedHQ/runner/pull/214) **Full Runner Changelog**: <https://github.com/CodSpeedHQ/codspeed/blob/main/CHANGELOG.md> ### [`v4.8.2`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.8.2) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.8.1...v4.8.2) #### Release Notes ##### <!-- 1 -->🐛 Bug Fixes - Check whether artifact contains any elements by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​204](https://redirect.github.com/CodSpeedHQ/runner/pull/204) ##### <!-- 7 -->⚙️ Internals - chore: bump runner version to 4.8.2 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​174](https://redirect.github.com/CodSpeedHQ/action/pull/174) #### Install codspeed-runner 4.8.2 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.8.2/codspeed-runner-installer.sh | sh ``` #### Download codspeed-runner 4.8.2 | File | Platform | Checksum | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.2/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.2/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) | | [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.2/codspeed-runner-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.2/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256) | **Full Runner Changelog**: <https://github.com/CodSpeedHQ/runner/blob/main/CHANGELOG.md> **Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.8.1...v4.8.2> ### [`v4.8.1`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.8.1) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.8.0...v4.8.1) #### Release Notes ##### <!-- 0 -->🚀 Features - Check if memtrack produced artifacts by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​195](https://redirect.github.com/CodSpeedHQ/runner/pull/195) - Require minimum protocol version for memtrack by [@​not-matthias](https://redirect.github.com/not-matthias) ##### <!-- 1 -->🐛 Bug Fixes - Add explicit min version check for memory executor by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​203](https://redirect.github.com/CodSpeedHQ/runner/pull/203) ##### <!-- 7 -->⚙️ Internals - chore: bump runner version to 4.8.1 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​173](https://redirect.github.com/CodSpeedHQ/action/pull/173) #### Install codspeed-runner 4.8.1 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.8.1/codspeed-runner-installer.sh | sh ``` #### Download codspeed-runner 4.8.1 | File | Platform | Checksum | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.1/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) | | [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.1/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256) | **Full Runner Changelog**: <https://github.com/CodSpeedHQ/runner/blob/main/CHANGELOG.md> **Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.8.0...v4.8.1> ### [`v4.8.0`](https://redirect.github.com/CodSpeedHQ/action/releases/tag/v4.8.0) [Compare Source](https://redirect.github.com/CodSpeedHQ/action/compare/v4.7.0...v4.8.0) #### Release Notes It is now possible to do consecutive CodSpeed run in the same GitHub job. This will allow using multiple instruments without having to spawn another job 🎉 ```yaml jobs: codspeed: ... steps: ... - name: Build benchmarks run: cargo codspeed build -m analysis - name: Run benchmarks uses: CodSpeedHQ/action@v4 with: run: cargo codspeed run mode: "simulation" - name: Run memory benchmarks uses: CodSpeedHQ/action@v4 with: run: cargo codspeed run mode: "memory" ``` ##### <!-- 0 -->🚀 Features - Allow defining targets in codspeed yaml by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​197](https://redirect.github.com/CodSpeedHQ/runner/pull/197) - Add an stdin mode to provide multiple commands by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add a run index suffix by [@​fargito](https://redirect.github.com/fargito) in [#​199](https://redirect.github.com/CodSpeedHQ/runner/pull/199) - Make the config less strict about its config by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​198](https://redirect.github.com/CodSpeedHQ/runner/pull/198) - Add support for analysis mode with memory instrument by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Reduce shared fifo timeout to end executor runs faster after the program has ended by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​193](https://redirect.github.com/CodSpeedHQ/runner/pull/193) - Use a bufwriter to save unwind data by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Support dynamically and statically linked allocators by [@​not-matthias](https://redirect.github.com/not-matthias) - Track `memalign` calls by [@​not-matthias](https://redirect.github.com/not-matthias) - Accept IPC before creating tracker to avoid timeouts by [@​not-matthias](https://redirect.github.com/not-matthias) - Add integration tests for complex cli commands by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add the full command to the uri and handle hyphens better by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add yaml project config discovery and loading by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​189](https://redirect.github.com/CodSpeedHQ/runner/pull/189) - Implement the walltime benchmarking algorithm by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Use rayon to collect perf walltime data by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Handle memory executor when displaying results by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​190](https://redirect.github.com/CodSpeedHQ/runner/pull/190) - Do not draw a table if there is only one benchmark by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Stop using the deprecated `time` field and use `value` instead by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) ##### <!-- 1 -->🐛 Bug Fixes - Fix behavior when multiple benchmarks are ran by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Simplify `run_part_id` computation by [@​fargito](https://redirect.github.com/fargito) in [#​200](https://redirect.github.com/CodSpeedHQ/runner/pull/200) - Write perf map all at once instead of line by line by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Drop privileges when running commands under sudo by [@​not-matthias](https://redirect.github.com/not-matthias) - Make walltime results stat computation the same as pytest-codspeed by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​185](https://redirect.github.com/CodSpeedHQ/runner/pull/185) ##### <!-- 2 -->🏗️ Refactor - Move project config structs to interfaces mod by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Move all walltime benchmarking to its dedicated module by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) ##### <!-- 7 -->⚙️ Internals - chore: bump runner version to 4.8.0 by [@​github-actions](https://redirect.github.com/github-actions)\[bot] in [#​172](https://redirect.github.com/CodSpeedHQ/action/pull/172) - Bump memtrack version - Ignore .codspeed for exec-harness output by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Remove useless clone derive for project config by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Cleanup output by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​196](https://redirect.github.com/CodSpeedHQ/runner/pull/196) - Use simulation in codspeed action by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​194](https://redirect.github.com/CodSpeedHQ/runner/pull/194) - Cache benchmark executable by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add prelude and remove linter dead\_code suppression by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Reduce logs verbosity of debug info and perf file serialization by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Remove unused execve event by [@​not-matthias](https://redirect.github.com/not-matthias) in [#​192](https://redirect.github.com/CodSpeedHQ/runner/pull/192) - Add prelude by [@​not-matthias](https://redirect.github.com/not-matthias) - Print number of events written to disk by [@​not-matthias](https://redirect.github.com/not-matthias) - Switch to rust-cache to cache builds of the installed workspace binaries by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) in [#​191](https://redirect.github.com/CodSpeedHQ/runner/pull/191) - Install exec-harness before runner tests tests by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Remove double metadata information by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Add link to relevant issue for codspeed-rust metadata by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Use fork supporting compressed events for linux-perf-data by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Run exec-harness tests in separate CI job to prevent fifo issues by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) - Downgrade flate because 1.1.7 was yanked by [@​GuillaumeLagrange](https://redirect.github.com/GuillaumeLagrange) #### Install codspeed-runner 4.8.0 ##### Install prebuilt binaries via shell script ```sh curl --proto '=https' --tlsv1.2 -LsSf https://github.com/CodSpeedHQ/runner/releases/download/v4.8.0/codspeed-runner-installer.sh | sh ``` #### Download codspeed-runner 4.8.0 | File | Platform | Checksum | | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------- | | [codspeed-runner-aarch64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz) | ARM64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.0/codspeed-runner-aarch64-unknown-linux-musl.tar.gz.sha256) | | [codspeed-runner-x86\_64-unknown-linux-musl.tar.gz](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz) | x64 MUSL Linux | [checksum](https://redirect.github.com/CodSpeedHQ/runner/releases/download/v4.8.0/codspeed-runner-x86_64-unknown-linux-musl.tar.gz.sha256) | **Full Runner Changelog**: <https://github.com/CodSpeedHQ/runner/blob/main/CHANGELOG.md> **Full Changelog**: <https://github.com/CodSpeedHQ/action/compare/v4.7.0...v4.8.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [x] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/astral-sh/uv). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi45NS4yIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiYnVpbGQ6c2tpcC1yZWxlYXNlIiwiaW50ZXJuYWwiXX0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
136 lines
4.5 KiB
YAML
136 lines
4.5 KiB
YAML
on:
|
|
workflow_call:
|
|
inputs:
|
|
save-rust-cache:
|
|
required: false
|
|
type: string
|
|
default: "true"
|
|
|
|
permissions: {}
|
|
|
|
env:
|
|
CARGO_INCREMENTAL: 0
|
|
CARGO_NET_RETRY: 10
|
|
CARGO_TERM_COLOR: always
|
|
RUSTUP_MAX_RETRIES: 10
|
|
|
|
jobs:
|
|
benchmarks-walltime-build:
|
|
name: "walltime build"
|
|
runs-on: depot-ubuntu-22.04-arm-4
|
|
if: ${{ github.repository == 'astral-sh/uv' }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: "Checkout Branch"
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
|
|
with:
|
|
save-if: ${{ inputs.save-rust-cache == 'true' }}
|
|
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
|
|
- name: "Install codspeed"
|
|
uses: taiki-e/install-action@542cebaaed782771e619bd5609d97659d109c492 # v2.66.7
|
|
with:
|
|
tool: cargo-codspeed
|
|
|
|
- name: "Install requirements and prime cache"
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libsasl2-dev libldap2-dev libkrb5-dev
|
|
cargo run --bin uv -- venv --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/jupyter.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/airflow.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
|
|
- name: "Build benchmarks"
|
|
run: cargo codspeed build -m walltime --profile profiling -p uv-bench
|
|
|
|
- name: "Create artifact archive"
|
|
run: tar -cvf benchmarks-walltime.tar target/codspeed target/debug/uv .cache
|
|
|
|
- name: "Upload benchmark artifacts"
|
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
with:
|
|
name: benchmarks-walltime
|
|
path: benchmarks-walltime.tar
|
|
retention-days: 1
|
|
|
|
benchmarks-walltime-run:
|
|
name: "walltime on aarch64 linux"
|
|
runs-on: codspeed-macro
|
|
needs: benchmarks-walltime-build
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: "Checkout Branch"
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: "Install codspeed"
|
|
uses: taiki-e/install-action@542cebaaed782771e619bd5609d97659d109c492 # v2.66.7
|
|
with:
|
|
tool: cargo-codspeed
|
|
|
|
- name: "Download benchmark artifacts"
|
|
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
|
with:
|
|
name: benchmarks-walltime
|
|
|
|
- name: "Extract artifact archive"
|
|
run: tar -xvf benchmarks-walltime.tar
|
|
|
|
- name: "Create venv"
|
|
run: ./target/debug/uv venv --cache-dir .cache
|
|
|
|
- name: "Run benchmarks"
|
|
uses: CodSpeedHQ/action@fa0c9b1770f933c1bc025c83a9b42946b102f4e6 # v4.10.4
|
|
with:
|
|
run: cargo codspeed run
|
|
mode: walltime
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|
|
|
|
benchmarks-simulated:
|
|
name: "simulated"
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.repository == 'astral-sh/uv' }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: "Checkout Branch"
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
|
|
with:
|
|
save-if: ${{ inputs.save-rust-cache == 'true' }}
|
|
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
|
|
- name: "Install codspeed"
|
|
uses: taiki-e/install-action@542cebaaed782771e619bd5609d97659d109c492 # v2.66.7
|
|
with:
|
|
tool: cargo-codspeed
|
|
|
|
- name: "Install requirements and prime cache"
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libsasl2-dev libldap2-dev libkrb5-dev
|
|
cargo run --bin uv -- venv --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/jupyter.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
cargo run --bin uv -- pip compile test/requirements/airflow.in --universal --exclude-newer 2024-08-08 --cache-dir .cache
|
|
|
|
- name: "Build benchmarks"
|
|
run: cargo codspeed build --profile profiling -p uv-bench
|
|
|
|
- name: "Run benchmarks"
|
|
uses: CodSpeedHQ/action@fa0c9b1770f933c1bc025c83a9b42946b102f4e6 # v4.10.4
|
|
with:
|
|
run: cargo codspeed run
|
|
mode: simulation
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|