Merged
Conversation
Restructured workflow execution for maximum parallelization:
Job Structure:
- msrv: Detect MSRV (foundation for all jobs)
- fmt, clippy, deny, audit: Run in parallel (independent quality checks)
- test: Depends on fmt+clippy (matrix: MSRV + stable)
- package: Depends on test (MSRV only)
- coverage, benchmarks: Depend on test (run in parallel)
Dependency Chain:
msrv → [fmt, clippy, deny, audit] (parallel)
↓
[fmt, clippy] → test (matrix)
↓
[package, coverage, benchmarks] (parallel)
Benefits:
- Faster CI feedback (~2-3 min vs ~5 min)
- Quality checks run immediately in parallel
- Tests only run after code quality verified
- Optimal resource utilization
- Clear dependency visualization
Performance Improvements:
- fmt/clippy/deny/audit: parallel execution (was sequential)
- Test execution: starts after quality checks pass (early failure detection)
- Coverage/benchmarks: parallel execution after tests
Owner
Author
|
@codecov-ai-reviewer review |
Added `permissions` blocks to all jobs following principle of least privilege: - `contents: read` for all read-only jobs (msrv, fmt, clippy, deny, audit, package, coverage, benchmarks) - `contents: write` and `pull-requests: write` for test job (requires write access for README auto-commit) This addresses GitHub Advanced Security bot review findings.
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.
Summary
Restructured CI workflow for maximum parallelization and faster feedback cycles.
Architecture Changes
Previous Structure (Sequential)
New Structure (Parallel)
Job Breakdown
Parallel Quality Checks (runs immediately):
fmt: Code formatting (MSRV, nightly rustfmt)clippy: Linting (matrix: MSRV + stable)deny: License/dependency checks (MSRV)audit: Security audit (MSRV)Test Execution (after quality checks):
test: Full test suite (matrix: MSRV + stable)Post-Test Jobs (parallel):
package: Dry-run packaging (MSRV)coverage: Code coverage (stable)benchmarks: Performance tracking (stable)Performance Impact
Before: ~5 minutes (sequential execution)
After: ~2-3 minutes (parallel execution)
Key Improvements:
Benefits
Test Plan
Closes #181