Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
- [Cranelift codegen backend](./tests/codegen-backend-tests/cg_clif.md)
- [GCC codegen backend](./tests/codegen-backend-tests/cg_gcc.md)
- [Performance testing](./tests/perf.md)
- [Pre-stabilization CI job](./tests/pre-stabilization-ci-job.md)
- [Misc info](./tests/misc.md)
- [Debugging the compiler](./compiler-debugging.md)
- [Using the tracing/logging instrumentation](./tracing.md)
Expand Down
57 changes: 57 additions & 0 deletions src/tests/pre-stabilization-ci-job.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Pre-stabilization testing of new solver and polonius alpha on CI

We want to improve the continuous test coverage of next solver and polonius
alpha with a goal to stabilize them in 2026. To achieve this, we need to ensure
these unstable features are well tested and continuously well tested so they do
not regress.

This calls for a dedicated CI job [`x86_64-gnu-pre-stabilization`] which is
blocking in PR CI and thus also Merge CI to catch regressions.

For more context, see:

* [MCP 996: Test new solver and polonius alpha on CI](https://github.com/rust-lang/compiler-team/issues/996)
* Tracking issue: <https://github.com/rust-lang/rust/issues/157780>

## What is tested

* For next solver:
* We want to ensure that we can build the stage 2 compiler and standard
library with next solver.
* (Later) we also want to ensure that we can bootstrap a full toolchain with
the next solver.
* For polonius alpha:
* We wil run the UI test suite under polonius [compare
mode](./compiletest.md#compare-modes), against the stage 2 compiler/std
built with next solver as aforementioned.

> **Note**
>
> Initially, we may test only up to `--stage=1`, but the plan is to expand up to
> stage 2.
>
> To reproduce failures locally:
>
> ```console
> $ RUSTFLAGS_NOT_BOOTSTRAP="-Znext-solver=globally" ../x build library --stage 1
> ```
>
> ```console
> $ RUSTFLAGS_NOT_BOOTSTRAP="-Znext-solver=globally" ../x test tests/ui --compare-mode polonius --stage 1
> ```

## What failures and remedies might be specific to this combination?

* This may yield new errors when using unstable features in the standard library
or the compiler.
* This may sometimes require blessing new tests, or in rare cases, adding test
annotations or revisions.

Comment thread
jieyouxu marked this conversation as resolved.
## Point of contact

If you have questions or need advice on a test failure in this job, please open
a new topic in [t-compiler zulip
channel](https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler).


[`x86_64-gnu-pre-stabilization`]: https://github.com/rust-lang/rust/pull/157322
Loading