Skip to content

ci: new CI - #644

Draft
alejandro-vaz wants to merge 8 commits into
servo:v2from
alejandro-vaz:new-ci
Draft

alejandro-vaz wants to merge 8 commits into
servo:v2from
alejandro-vaz:new-ci

Conversation

@alejandro-vaz

@alejandro-vaz alejandro-vaz commented Sep 20, 2026

Copy link
Copy Markdown
Collaborator

this PR remakes CI and simplifies it a great deal

it is a replacement for the rust.yml workflow

it adds two workflows:

  • checks.yml => fast checks "everything is okay" for PRs. runs on PRs, merge queue, and manually
  • performance.yml => deep benchmarking, runs on v2 push and manually

it deliberately changes tests/borsh.rs::round_trip_zst to have less elements so the miri test doesn't hang and reorders a block in src/taggedlen.rs so that there is no warning emitted

note: this PR is blocked by #631, and that's why checks currently fail

checks

checks has seven jobs:

  • practices: runs rustfmt, clippy, and documentation build
  • fuzz: runs fuzzing
  • miri: runs all miri
  • stable: runs <=default testing
  • nightly: runs all testing
  • nostd: runs <=default testing
  • msrv: runs <=default testing

in total, these jobs are more comprehensive than our current checks

it removes the old beta testing. argument: why have it when we have both stable and nightly?? what's the point exactly?? it's the same as saying we should test every rust version since the MSRV or every nightly commit

it also removes the old "abort all other checks if one fails" so you can discover all issues at the same time

estimated run time: 1-2 minutes, around 8-10x faster than our current checks, which is perfect for PRs

performance

three jobs:

  • no default features
  • default features
  • all features

running benchmarks simultaneously

estimated run time: 3-4 minutes, substantially faster than our current benchmarking because it executes in parallel

@alejandro-vaz alejandro-vaz self-assigned this Sep 20, 2026
@alejandro-vaz

Copy link
Copy Markdown
Collaborator Author

surprisingly, it is faster than the old one, because we removed 5-10 minutes of doing nothing in tests/borsh.rs

@alejandro-vaz alejandro-vaz changed the title ci: new checks file ci: new CI Sep 20, 2026
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.

1 participant