Set up CI workflow with benchmark tests#14
Merged
AngeloGiacco merged 7 commits intomainfrom Jan 11, 2026
Merged
Conversation
Add comprehensive benchmark CI job that: - Runs all Criterion benchmarks on every push/PR - Displays human-readable benchmark results - Enforces performance thresholds to catch regressions: - detector_detect: 25ms max - config_parsing_full: 20ms max - config_parsing_minimal: 10ms max - config_default: 2ms max - config_validation: 1ms max - Fails the build if any benchmark exceeds its threshold The benchmark job is now required for CI success.
The env context is not available in job name fields, so hardcode the MSRV value (1.75) directly in the job name.
- Update rust-version in Cargo.toml from 1.75 to 1.82 (required by indexmap) - Update MSRV in CI workflow to match - Simplify rustfmt.toml to use only stable options (removes nightly-only warnings) - Apply formatting fixes to source files
The tests that change the current working directory were failing when run in parallel with other tests. The fix makes assertions conditional on whether we found the config in the expected temp directory, since parallel test interference may cause us to find a different config. This fixes test failures on macOS CI.
Tests that modify the global current working directory cause race conditions when run in parallel: - Other tests may change CWD while these tests are running - Temp directory cleanup can delete directories other tests are using Mark these tests with #[ignore] so they don't run by default. They can be run manually with: cargo test -- --ignored --test-threads=1
- Fix macOS test failures by canonicalizing paths before comparison (handles /var -> /private/var and /tmp -> /private/tmp symlinks) - Add Windows-specific test variants for executor tests (echo %VAR% instead of echo $VAR, cd instead of pwd)
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.
Add comprehensive benchmark CI job that:
The benchmark job is now required for CI success.