-
Notifications
You must be signed in to change notification settings - Fork 11
ci: CI improvements #165
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
ci: CI improvements #165
Conversation
0afb881 to
8d41ebd
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #165 +/- ##
=======================================
Coverage 100.0% 100.0%
=======================================
Files 90 90
Lines 6497 6497
=======================================
Hits 6497 6497 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
064877f to
b0c53a9
Compare
cb56486 to
8cc7b04
Compare
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 significantly refactors the GitHub Actions CI/CD configuration by consolidating repetitive workflow setup into a reusable composite action, while also updating various tool and action versions.
Key changes:
- Introduces a new centralized
.github/actions/setupcomposite action that handles environment configuration, caching, Rust toolchain installation, and cargo tool installation - Removes the redundant
repo-constants.ymlworkflow andload-constantsaction in favor of directly parsingconstants.tomlwithin the setup action - Updates multiple tool versions (cargo tools from v0.3.0→v0.4.0, v25.3.1→v26.0.0, etc.) and GitHub Actions versions (checkout v6.0.0→v6.0.1, cache v4.3.0→v5.0.1, etc.)
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
constants.toml |
Updated tool versions for cargo utilities and Rust nightly toolchains; improved documentation comments |
.github/workflows/repo-constants.yml |
Removed - functionality moved to setup action |
.github/actions/load-constants/action.yml |
Removed - functionality moved to setup action |
.github/actions/setup/action.yml |
New composite action that consolidates environment setup, constant loading, caching, and tool installation |
.github/workflows/nightly.yml |
Refactored to use new setup action; updated checkout version |
.github/workflows/main.yml |
Refactored all jobs to use new setup action; updated multiple action versions; removed redundant env blocks and dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
b7292e1 to
b5924db
Compare
|
My only FYI, is that cargo nextest run tests faster, but it runs each test in a subprocess, thus test running on nextest won't conflict each other, while in cargo test they will. For instance, setting up a global telemetry provider for tracing will affect only a single test on nextest, while it will be set for all tests using cargo test. Knowing this fact, I still love nextest. The performance, and the UI is simply the best. |
Save a bunch of lines of mind-numbing GitHub actions YAML.
Update to latest tool and action versions.
Stop using the cargo dependency cache, it's redundant with the other caches we have.
Enable Sccache on two jobs that should've been using it, which should speed those up.
Switch to using cargo nextest for running our tests which delivers a considerable perf improvement.
Run cargo-careful as additional prevention against introducing undefined behaviors.
Stop using cargo-audit since it is completely redundant with cargo-deny which we already run and does more.