Commit Graph

298 Commits

Author SHA1 Message Date
Vadim Petrochenkov 628eb7064d compiletest: Support matching diagnostics on lines below 2025-03-29 13:30:20 +03:00
Vadim Petrochenkov 2e81955d9c compiletest: Support matching on diagnostics without a span 2025-03-25 17:33:09 +03:00
Matthias Krüger 7d4c53d816
Rollup merge of #138655 - Kobzol:rdg-sync, r=jieyouxu
rustc-dev-guide sync

r? `@jieyouxu`
2025-03-19 08:17:15 +01:00
Jieyou Xu af667b8696
Merge from rustc 2025-03-18 12:08:38 +08:00
Matthias Krüger 7ceeee7ca4
Rollup merge of #138533 - Kobzol:try-job-auto-tests, r=marcoieni
Only use `DIST_TRY_BUILD` for try jobs that were not selected explicitly

Some CI jobs (x64 Linux, ARM64 Linux and x64 MSVC) use the `opt-dist` tool to build an optimized toolchain using PGO and BOLT. When performing a default try build for x64 Linux, in most cases we want to run perf. on that artifact. To reduce the latency of this common use-case, `opt-dist` skips building several components not needed for perf., and it also skips running post-optimization tests, when it detects that the job is executed as a try job (not a merge/auto job).

This is useful, but it also means that if you *want* to run the tests, you had to go to `jobs.yml` and manually comment this environment variable, create a WIP commit, do a try build, and then remove the WIP commit, which is annoying (in the similar way that modifying what gets run in try builds was annoying before we had the `try-job` annotations).

I thought that we could introduce some additional PR description marker like `try-job-run-tests`, but it's hard to discover that such things exist.

Instead, I think that there's a much simpler heuristic for determining whether `DIST_TRY_BUILD` should be used (that I implemented in this PR):
- If you do just ``@bors` try`, without any custom try jobs selected, `DIST_TRY_BUILD` will be activated, to finish the build as fast as possible.
- If you specify any custom try jobs, you are most likely doing experiments and you want to see if tests pass and everything builds as it should. The `DIST_TRY_BUILD` variable will thus *not* be set in this case.

In this way, if you want to run dist tests, you can just add the `try-job: dist-x86_64-linux` line to the PR description, and you don't need to create any WIP commits.

r? `@marcoieni`
2025-03-17 22:49:06 +01:00
bit-aloo e4ddc21c8a
replace config.toml to bootstrap.toml in src:doc:rustc-dev-guide 2025-03-17 12:56:44 +05:30
Jakub Beránek f6940a6e7c Add a note to rustc-dev-guide 2025-03-16 20:42:37 +01:00
Tshepang Mbambo b04865b8d2 add some copy-paste goodness 2025-03-15 11:35:41 +02:00
Tshepang Mbambo 7d157cb36e make 'mdbook test --chapter "Running tests"' pass 2025-03-15 11:35:15 +02:00
Tshepang Mbambo e068c546a3 those should not get shell highlighting 2025-03-15 11:32:16 +02:00
许杰友 Jieyou Xu (Joe) 9975f62f2b
Merge pull request #2283 from jieyouxu/sync
Rustc pull
2025-03-14 16:08:03 +08:00
Josh Stone 46d4f952c7
Remove the doc for `no-system-llvm`
This compiletest directive was removed in rust-lang/rust#120265.
2025-03-13 12:15:29 -07:00
许杰友 Jieyou Xu (Joe) 3ca2a42b52 Merge from rustc 2025-03-13 15:20:11 +08:00
Jakub Beránek dd0359476d Handle backticks in try job patterns 2025-03-10 14:07:46 +01:00
Jakub Beránek 074e4787bd Modify try-job documentation 2025-03-10 14:07:45 +01:00
许杰友 Jieyou Xu (Joe) 6ae1d4d997
Merge pull request #2273 from rust-lang/tshepang-patch-1
use new terminology
2025-03-10 17:59:15 +08:00
Tshepang Mbambo 53f8a2f1d6
add missing punctuation 2025-03-10 11:15:32 +02:00
Tshepang Mbambo 12b836b37c
clean --bless text 2025-03-10 11:12:44 +02:00
Tshepang Mbambo 916cd09d33
add a pause, for readability 2025-03-10 10:38:30 +02:00
Tshepang Mbambo 20b3dc1ee0
already mentioned before showing code snippet 2025-03-10 10:35:40 +02:00
Tshepang Mbambo 1d3b59fa4a
use new terminology 2025-03-10 10:29:30 +02:00
许杰友 Jieyou Xu (Joe) c37760a674
Merge pull request #2271 from rust-lang/tshepang-patch-1
fix text
2025-03-09 08:04:28 +08:00
Tshepang Mbambo efa11d0d5c
ignore-stage0 and only-stage0 do not exist 2025-03-08 23:51:17 +02:00
Tshepang Mbambo 28b1ec7130
fix text
- There is more than just target and stage
- There is only 3 stages, so don't mention them specially
2025-03-08 22:58:09 +02:00
许杰友 Jieyou Xu (Joe) 93eca2b494 Document that `rmake.rs`/`run-make-support` may not use unstable features 2025-03-07 19:09:41 +08:00
许杰友 Jieyou Xu (Joe) a1c5c4971c
Rollup merge of #136581 - jieyouxu:makefile-be-gone, r=Kobzol
Retire the legacy `Makefile`-based `run-make` test infra

The final piece of [porting run-make tests to use Rust #121876](https://github.com/rust-lang/rust/issues/121876).
Closes #121876.
Closes #40713.
Closes #81791 (no longer using `wc`).
Closes #56475 (no longer a problem in current form of that test; we don't ignore the test on `aarch64-unknown-linux-gnu`).

### Summary

This PR removes the legacy `Makefile`-based `run-make` test infra which has served us well over the years. The legacy infra is no longer needed since we ported all of `Makefile`-based `run-make` tests to the new `rmake.rs` infra.

Additionally, this PR:

- Removes `tests/run-make/tools.mk` since no more `Makefile`-based tests remain.
- Updates `tests/run-make/README.md` and rustc-dev-guide docs to remove mention about `Makefile`-based `run-make` tests
- Update test suite requirements in rustc-dev-guide on Windows to no longer need MSYS2 (they should also now run successfully on native Windows MSVC).
- Update `triagebot.toml` to stop backlinking to #121876.

**Thanks to everyone who helped in this effort to modernize the `run-make` test infra and test suite!**

r? bootstrap
2025-03-05 21:46:32 +08:00
bors cd733e506e Auto merge of #135695 - Noratrieb:elf-raw-dylib, r=bjorn3
Support raw-dylib link kind on ELF

raw-dylib is a link kind that allows rustc to link against a library without having any library files present.
This currently only exists on Windows. rustc will take all the symbols from raw-dylib link blocks and put them in an import library, where they can then be resolved by the linker.

While import libraries don't exist on ELF, it would still be convenient to have this same functionality. Not having the libraries present at build-time can be convenient for several reasons, especially cross-compilation. With raw-dylib, code linking against a library can be cross-compiled without needing to have these libraries available on the build machine. If the libc crate makes use of this, it would allow cross-compilation without having any libc available on the build machine. This is not yet possible with this implementation, at least against libc's like glibc that use symbol versioning. The raw-dylib kind could be extended with support for symbol versioning in the future.

This implementation is very experimental and I have not tested it very well. I have tested it for a toy example and the lz4-sys crate, where it was able to successfully link a binary despite not having a corresponding library at build-time.

I was inspired by Björn's comments in https://internals.rust-lang.org/t/bundle-zig-cc-in-rustup-by-default/22096/27
Tracking issue: #135694

r? bjorn3

try-job: aarch64-apple
try-job: x86_64-msvc-1
try-job: x86_64-msvc-2
try-job: test-various
2025-03-04 15:39:44 +00:00
许杰友 Jieyou Xu (Joe) 6a61f6f721 rustc-dev-guide: remove mentions of legacy `Makefile` run-make infra
And remove outdated requirements to run `run-make` tests on Windows.
2025-03-02 05:56:56 +08:00
Noratrieb 8044303cbf Support raw-dylib link kind on ELF
raw-dylib is a link kind that allows rustc to link against a library
without having any library files present.
This currently only exists on Windows. rustc will take all the symbols
from raw-dylib link blocks and put them in an import library, where they
can then be resolved by the linker.

While import libraries don't exist on ELF, it would still be convenient
to have this same functionality. Not having the libraries present at
build-time can be convenient for several reasons, especially
cross-compilation. With raw-dylib, code linking against a library can be
cross-compiled without needing to have these libraries available on the
build machine. If the libc crate makes use of this, it would allow
cross-compilation without having any libc available on the build
machine. This is not yet possible with this implementation, at least
against libc's like glibc that use symbol versioning.
The raw-dylib kind could be extended with support for symbol versioning
in the future.

This implementation is very experimental and I have not tested it very
well. I have tested it for a toy example and the lz4-sys crate, where it
was able to successfully link a binary despite not having a
corresponding library at build-time.
2025-02-26 19:09:51 +01:00
Jakub Beránek 912575e174
Update documentation 2025-02-17 12:27:44 +01:00
许杰友 Jieyou Xu (Joe) f32fc55183 rustc-dev-guide: document `{ignore,only}-rustc_abi-x86-sse2` 2025-02-15 23:17:07 +08:00
bors a071c7c0c8 Auto merge of #135336 - tshepang:patch-5, r=jieyouxu
clarify and document needs-dynamic-linking

try-job: test-various
2025-02-12 15:39:48 +00:00
Tshepang Mbambo 5cb9ff172f document the directive 2025-02-11 22:05:40 +02:00
MarcoIeni 8a6fd47a85
improve CI cache docs 2025-02-06 14:59:43 +01:00
Jakub Beránek c1b96f0f88 Reword submodule handling 2025-02-01 16:42:28 +01:00
Jakub Beránek a0505b3e7d Rewrite section on executing Docker tests 2025-01-30 18:33:34 +01:00
Matthias Krüger eda1e03c12
Rollup merge of #135829 - Kobzol:rustc-push, r=jieyouxu
Rustc dev guide subtree update

r? ``@ghost``
2025-01-24 23:25:44 +01:00
许杰友 Jieyou Xu (Joe) 0f175948cd rustc-dev-guide: document `needs-subprocess` directive 2025-01-23 20:51:28 +08:00
Jakub Beránek 3543f80951
Add test for checking used glibc symbols 2025-01-21 10:20:24 +01:00
Jakub Beránek 1e32114309 Merge from rustc 2025-01-20 14:12:41 +01:00
Noratrieb 166fa3b79e Fix dev guide docs for error-pattern
I know it would have made more sense to make this PR to the dev guide
repo but I had already made the fix before I realized that.
2025-01-19 11:36:41 +01:00
许杰友 Jieyou Xu (Joe) e9d9b29d06 compiletest: fix outdated `rustdoc-js` test suite name 2025-01-17 08:40:04 +08:00
许杰友 Jieyou Xu (Joe) aca4d07e08
Merge pull request #2205 from ehuss/ci-config 2025-01-11 00:34:43 +08:00
Eric Huss cd9705f029 Fix calculate-job-matrix.py link 2025-01-10 08:26:52 -08:00
Eric Huss 42768820fe Document how to find the configuration used in CI
This documents how to determine which settings are used in CI, since I
see this question come up regularly. We currently don't have a great way
to answer the question, but at least there is something.
2025-01-10 08:16:37 -08:00
Jakub Beránek 280d73878a Update rustc-dev-guide 2025-01-07 19:10:03 +01:00
Stuart Cook bb71c99918 Describe how to use rust-analyzer with `rmake.rs` (#2191) 2025-01-05 17:51:45 +01:00
Onur Özkan 63548be44e comment out FIXMEs to not display them on UI (#2186) 2025-01-05 17:51:45 +01:00
Max Heller 08b4cd8efc Use `id` attribute for `<a>` tags instead of deprecated `name` attribute (#2184) 2024-12-31 22:02:50 +08:00
clubby789 5f32a38a3d Document `x test --no-capture` (#2174) 2024-12-28 19:55:20 +08:00