Skip to content

Conversation

@geeknoid
Copy link
Member

@geeknoid geeknoid commented Dec 21, 2025

  • 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.

@geeknoid geeknoid changed the title Considerably simplify GitHub actions ci: Considerably simplify GitHub actions Dec 21, 2025
@geeknoid geeknoid force-pushed the ci branch 7 times, most recently from 0afb881 to 8d41ebd Compare December 21, 2025 22:30
@codecov
Copy link

codecov bot commented Dec 21, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.0%. Comparing base (e095f6a) to head (b0375ff).
⚠️ Report is 1 commits behind head on main.

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link

Copilot AI left a 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/setup composite action that handles environment configuration, caching, Rust toolchain installation, and cargo tool installation
  • Removes the redundant repo-constants.yml workflow and load-constants action in favor of directly parsing constants.toml within 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.

@geeknoid geeknoid changed the title ci: Considerably simplify GitHub actions ci: CI improvements Dec 22, 2025
@geeknoid geeknoid force-pushed the ci branch 2 times, most recently from b7292e1 to b5924db Compare December 22, 2025 01:27
@psandana
Copy link

psandana commented Dec 22, 2025

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.

@geeknoid geeknoid merged commit 704255d into main Dec 22, 2025
19 checks passed
@geeknoid geeknoid deleted the ci branch December 22, 2025 17:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants