Skip to content

Make opt-level=1 the default for tests#1235

Open
hildebrandmw wants to merge 1 commit into
mainfrom
mhildebr/test-with-opt-level
Open

Make opt-level=1 the default for tests#1235
hildebrandmw wants to merge 1 commit into
mainfrom
mhildebr/test-with-opt-level

Conversation

@hildebrandmw

Copy link
Copy Markdown
Contributor

Our workspace-wide tests have been pretty useless to run at opt-level=0 (the default for the dev/test) for a while now. This was made worse by the addition of larger testing datasets.

To tackle this, the ci profile was introduced to build and run our tests at opt-level=1.

However, as the workspace continues to grow, opt-level=1 more and more just needs to be the default. Especially to be compatible with crater runs.

This PR drops the ci profile and instead changes our profile.test to use opt-level=1 by default. After this PR,

cargo nextest run --workspace

will use opt-level=1 and behave like our current

cargo nextest run --workspace --cargo-profile ci

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 removes the custom ci Cargo profile and makes opt-level = 1 the workspace default for tests by configuring profile.test. This keeps debug assertions/overflow checks (via test inheriting from dev) while significantly improving end-to-end test runtime, aligning local cargo test/cargo nextest behavior with prior CI behavior.

Changes:

  • Drop the [profile.ci] profile and set [profile.test] opt-level = 1 workspace-wide.
  • Update CI and nightly workflows to stop using --profile ci / --cargo-profile ci.
  • Update developer docs/scripts (diskann-wide docs + agents.md) to remove ci profile references.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
diskann-wide/README.md Removes --profile ci from test instructions so defaults use profile.test opt-level=1.
diskann-wide/compile-aarch64-on-x86.sh Removes --profile ci so cross-test uses the new default test profile.
Cargo.toml Deletes profile.ci and sets profile.test.opt-level = 1 with rationale/commentary.
agents.md Updates repository/testing guidance to reflect test profile (removes ci references).
.github/workflows/nightly.yml Removes --cargo-profile ci / --profile ci usage so nightly runs use default test profile.
.github/workflows/ci.yml Removes ci profile usage across jobs; switches clippy/build steps to --profile test where a profile is explicitly chosen.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.00%. Comparing base (ee7dbaa) to head (4e5e63a).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1235      +/-   ##
==========================================
- Coverage   91.01%   90.00%   -1.02%     
==========================================
  Files         501      501              
  Lines       95572    95572              
==========================================
- Hits        86988    86018     -970     
- Misses       8584     9554     +970     
Flag Coverage Δ
miri 90.00% <ø> (-1.02%) ⬇️
unittests 89.66% <ø> (-1.32%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 40 files with indirect coverage changes

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

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.

3 participants