Skip to content

Remove nextest to speed up CI#227

Merged
Shnatsel merged 2 commits into
linebender:mainfrom
Shnatsel:expunge-nextest
May 23, 2026
Merged

Remove nextest to speed up CI#227
Shnatsel merged 2 commits into
linebender:mainfrom
Shnatsel:expunge-nextest

Conversation

@Shnatsel
Copy link
Copy Markdown
Contributor

@Shnatsel Shnatsel commented May 23, 2026

cargo nextest's claim to fame is faster performance in some cases. However, its model of one process per test maps especially poorly to fearless_simd test structure.

We have over a thousand very small tests, so process spawning overhead really adds up. Locally cargo test is 4x faster than cargo nextest on my x86 machine.

cargo nextest overhead gets particularly egregious for WASM tests, where it starts up a whole new instance of wasmtime for every single test, which adds up to over 3 minutes to run the test suite even on my beefy machine. cargo test completes in just a few seconds.

Comment thread .github/workflows/ci.yml
Comment on lines +219 to +220
- name: cargo test
run: cargo test --workspace --locked --all-features --no-fail-fast --target ${{ matrix.platform.target }}
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you sure this will test the docs? Since this was removed.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, Cargo runs doctests by default. You can verify that by e.g. running cargo test under Address Sanitizer and watch them fail to link.

Comment thread .github/workflows/ci.yml
--config 'target.wasm32-wasip1.runner = "wasmtime"'

- name: cargo test --doc
- name: cargo test
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same for those.

@Shnatsel Shnatsel added this pull request to the merge queue May 23, 2026
Merged via the queue into linebender:main with commit 3f17d69 May 23, 2026
22 checks passed
@Shnatsel Shnatsel deleted the expunge-nextest branch May 23, 2026 18:07
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.

2 participants