Commit graph

5176 commits

Author SHA1 Message Date
Nilstrieb
187d44bfe3
Rollup merge of #118059 - Nilstrieb:unset-cargo, r=dtolnay
Explicitly unset $CARGO for compiletest

Some UI tests trigger behavior in rustc where it reads $CARGO and changes behavior if it exists. To make the tests work that rely on it not being set, make sure it is not set.

By default, this is not set, but people may do weird hacks that cause it to be set.

closes #118058
2023-11-21 09:06:28 +01:00
bors
290fc68f2d Auto merge of #117888 - notriddle:notriddle/releases, r=Mark-Simulacrum
doc: add release notes to standalone doc bundle

Preview: http://notriddle.com/rustdoc-html-demo-5/release-notes/releases.html

This is a workaround for #101714 on top of being a useful addition in its own right. It is intended to change the "canonical URL" for viewing the release notes from GitHub, which is relatively slow, to a pre-rendered HTML file that loads from the same CDN as the standard library docs. It also means you get a copy of the release notes when installing the rust-docs with rustup.
2023-11-19 16:44:55 +00:00
Nilstrieb
251e75ced6 Explicitly unset $CARGO for compiletest
Some UI tests trigger behavior in rustc where it reads $CARGO and changes behavior if it exists.
To make the tests work that rely on it not being set, make sure it is not set.

By default, this is not set, but people may do weird hacks
that cause it to be set.
2023-11-19 17:05:49 +01:00
Michael Howell
0bf77206ad Fix outdated doc comment on Releases doc build step 2023-11-19 08:01:17 -07:00
bors
0d3dfb5296 Auto merge of #117868 - ferrocene:pa-omit-git-hash, r=Mark-Simulacrum
Set `CFG_OMIT_GIT_HASH=1` during builds when `omit-git-hash` is enabled

This environment variable will allow tools like Cargo to disable their own detection when `omit-git-hash` is set to `true`.

I created this PR because of https://github.com/rust-lang/cargo/pull/12968. There is not a dependency between the two PRs, they can land in any order. They just won't do anything until both of them are merged into the repo.
2023-11-19 01:05:22 +00:00
Michael Howell
a3d90036c5 Do not call dry_run twice
Co-authored-by: Onur Özkan <onurozkan.dev@outlook.com>
2023-11-18 16:21:44 -07:00
bors
ea6b131132 Auto merge of #117813 - onur-ozkan:simplify-download-ci-llvm-option, r=Mark-Simulacrum
deprecate `if-available` value of `download-ci-llvm`

This PR deprecates the use of the `if-available` value for `download-ci-llvm` since `if-unchanged` serves the same purpose when no changes are detected. In cases where changes are present, it is assumed that compiling LLVM is acceptable (otherwise, why make changes there?).

This was probably missing in the #110087 issue before.

cc `@RalfJung`
2023-11-18 23:02:12 +00:00
Matthias Krüger
ca3a02836e
Rollup merge of #117338 - workingjubilee:asmjs-meets-thanatos, r=b-naber
Remove asmjs

Fulfills [MCP 668](https://github.com/rust-lang/compiler-team/issues/668).

`asmjs-unknown-emscripten` does not work as-specified, and lacks essential upstream support for generating asm.js, so it should not exist at all.
2023-11-17 23:04:21 +01:00
Takayuki Maeda
3644594cf3
Rollup merge of #117850 - onur-ozkan:fix-116538, r=Mark-Simulacrum
bootstrap: simplify setting unstable-options for tools

Previously, we unconditionally(instead of `if path == "src/tools/clippy" || ..`) set this (to prevent recompiling tools between `x check $tool` and '` check $another_tool` executions) specifically for tools in the `x check` step. This PR relocates that logic to `fn prepare_tool_cargo`, making it step-agnostic.

Fixes #116538
Fixes #117983
2023-11-17 12:56:30 +09:00
Josh Stone
776146e9eb bootstrap: only show PGO warnings when verbose
Building rustc with `--rust-profile-use` is currently dumping a lot of
warnings of "no profile data available for function" from `rustc_smir`
and `stable_mir`. These simply aren't exercised by the current profile-
gathering steps, but that's to be expected for new or experimental
functionality. I think for most people, these warnings will be just
noise, so it makes sense to only have them in verbose builds.
2023-11-16 10:42:23 -08:00
Mark Rousskov
db3e2bacb6 Bump cfg(bootstrap)s 2023-11-15 19:41:28 -05:00
bors
49b27f4efb Auto merge of #117701 - lnicola:sync-from-ra, r=onur-ozkan,HKalbasi
Subtree update of `rust-analyzer`

r? `@HKalbasi`
2023-11-14 18:43:27 +00:00
Michael Howell
29f5d2c1ae doc: add release notes to standalone doc bundle
This is a workaround for #101714 on top of being a useful addition
in its own right. It is intended to change the "canonical URL"
for viewing the release notes from GitHub, which is relatively
slow, to a pre-rendered HTML file that loads from the same CDN
as the standard library docs. It also means you get a copy of
the release notes when installing the rust-docs with rustup.
2023-11-13 16:00:31 -07:00
Laurențiu Nicola
636a6f70b6 Try Mode::ToolRustc 2023-11-13 21:38:57 +02:00
Pietro Albini
cd4adb8a3f
set CFG_OMIT_GIT_HASH=1 during builds when omit-git-hash is enabled 2023-11-13 11:18:55 +01:00
Mark Rousskov
8e2da60f0d Cranelift isn't available on non-nightly channels 2023-11-12 21:45:54 -05:00
onur-ozkan
b1afb6c49f bootstrap: simplify setting unstable-options for tools
We unconditionally set this to avoid recompiling tools between
`x check $tool` and `x test $tool` executions.

See https://github.com/rust-lang/rust/issues/116538 for more information.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-12 22:34:13 +03:00
onur-ozkan
23446427fe merge if-available and if-unchanged for download-ci-llvm
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-11 18:29:11 +03:00
Laurențiu Nicola
01422d1704 Allow rustc_private for RustAnalyzer 2023-11-10 16:35:56 +02:00
bors
3d0e99d632 Auto merge of #117765 - onur-ozkan:fix-117762, r=clubby789
enable unstable feature on `x clean [PATH]`

Since https://github.com/rust-lang/rust/pull/111076 enables unstable cargo feature (`public-dependency`), we need to ensure that unstable features are enabled before reading libstd Cargo.toml.

Fixes #117762

cc `@Nilstrieb`
2023-11-10 10:05:28 +00:00
onur-ozkan
fdb72795d1 enable unstable feature on x clean [PATH]
Since https://github.com/rust-lang/rust/pull/111076 enables
unstable cargo feature (`public-dependency`), we need to ensure
that unstable features are enabled before reading libstd Cargo.toml.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-09 23:04:51 +03:00
bors
eae4135939 Auto merge of #117708 - onur-ozkan:x-setup, r=clubby789
check config file before prompts on `x setup`

First 2 commit moves the check of configuration existence to the first step of `x setup`. And then followed by a prompt that allows devs to decide whether to continue with the configuration override or exit bootstrap.

Closes #110471

I can revert the last commit if needed. Maybe it's just me, but I feel it's better to have those tags capitalized. If you think otherwise, please let me know so that I can revert.
2023-11-09 19:16:59 +00:00
bors
4c8862b263 Auto merge of #117122 - ferrocene:pa-configure-git-diff, r=albertlarsan68
Allow configuring the parent GitHub repository

The git integration in build_helper hardcoded `rust-lang/rust` as the parent GitHub repository, and `master` as the branch name. This works great for `rust-lang/rust`, but causes problems in downstream forks like Ferrocene whenever those functions are invoked (like `./x fmt`).

In `src/stage0.json` there was already a configuration key for the name of the nightly branch, but it wasn't used by build_helper. This PR adds the `github_repository` key to the file, and requires both values to be passed to build_helper whenever a git function is called. This will allow downstream forks to tweak the values.
2023-11-09 16:49:28 +00:00
onur-ozkan
d1e26401bc chore(bootstrap): capitalize {error, warning, info, note} tags
This should enhance the readability.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-09 09:22:43 +03:00
onur-ozkan
42fbf3ebf5 allow users to override the existing configuration during x setup
Instead of immediately terminating bootstrap, users are now given
the option to decide whether they want to override the file or leave
it unchanged.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-09 09:21:38 +03:00
onur-ozkan
3d6417fc7a check config file before prompts on x setup
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-09 09:21:35 +03:00
Takayuki Maeda
f5195c52bb
Rollup merge of #117724 - Kobzol:shim-error-message, r=onur-ozkan
Restore rustc shim error message

Fixes: https://github.com/rust-lang/rust/pull/117595#discussion_r1382482249

The error message was originally introduced in https://github.com/rust-lang/rust/pull/111323, and subsequently broken by my change in https://github.com/rust-lang/rust/pull/116448.

r? ``@onur-ozkan``
2023-11-09 11:36:54 +09:00
Takayuki Maeda
e603f4491c
Rollup merge of #117723 - onur-ozkan:keep-bootstrap-on-x-clean, r=albertlarsan68
speed up `x clean`

Since `x clean` runs with bootstrap, we can speed up this process by avoiding the cleaning of bootstrap artifacts, as they are not necessarily needed to be cleaned.

ref #https://github.com/rust-lang/rust/issues/117653#issuecomment-1802482768
2023-11-09 11:36:53 +09:00
Jakub Beránek
622be2d138
Restore rustc shim error message 2023-11-08 22:38:31 +01:00
onur-ozkan
de0458af97 speed up x clean
Since `x clean` runs with bootstrap, we can speed up
this process by avoiding the cleaning of bootstrap artifacts,
as they are not necessarily needed to be cleaned.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08 23:45:31 +03:00
Guillaume Gomez
e05e4f38b5
Rollup merge of #117263 - onur-ozkan:change-id-fix, r=saethlin
handle the case when the change-id isn't found

When we switch back and forth between the old and recent branches, if there was a breaking change in the bootstrap configuration in between, we have to update the change-id in the build configuration with each checkout, which can be exhausting. This change fixes that.

r? saethlin
2023-11-08 17:14:35 +01:00
onur-ozkan
e0cb1cc296 bootstrap: add more detail on change-id comments
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08 14:06:45 +03:00
onur-ozkan
e878100386 bootstrap: improve fn check_version
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08 14:06:01 +03:00
onur-ozkan
ae4d18b2da handle the case when the change-id isn't found
When we switch back and forth between the old and recent branches,
if there was a breaking change in the bootstrap configuration in
between, we have to update the change-id in the build configuration
with each checkout, which can be exhausting. This change fixes that.

Signed-off-by: onur-ozkan <work@onurozkan.dev>
2023-11-08 14:05:56 +03:00
Matthias Krüger
7e4ffa98b5
Rollup merge of #117700 - Zalathar:rename-run-coverage, r=onur-ozkan
coverage: Rename the `run-coverage` test mode to `coverage-run`

Follow-up to https://github.com/rust-lang/rust/pull/117484#issuecomment-1788916563.

Renaming this test mode to `coverage-run` makes it more consistent with the `coverage-map` mode and the shared `tests/coverage` test directory.

---

``@rustbot`` label +A-code-coverage
2023-11-08 11:25:56 +01:00
Matthias Krüger
b1b5a8ea9d
Rollup merge of #117667 - Alexendoo:doc-clippy-config, r=albertlarsan68
Document clippy_config in nightly-rustc docs

A new clippy crate added in https://github.com/rust-lang/rust-clippy/pull/11685
2023-11-08 11:25:56 +01:00
Matthias Krüger
adf4981969
Rollup merge of #117663 - klensy:bump-deps, r=davidtwco
bump some deps

* drop `num_cpus` from rust-installer as not used
* update `rayon`, `rayon-core`, which drops it's deps on `num_cpus` and `crossbeam-channel` (for bootstrap too) (https://github.com/rayon-rs/rayon/blob/v1.8.0/RELEASES.md)
* update `errno`, which drops `errno-dragonfly` (5341791935/CHANGELOG.md)
2023-11-08 11:25:55 +01:00
bors
750c2ecd15 Auto merge of #116881 - LuuuXXX:issue-110087, r=onur-ozkan
Add a new `download-ci-llvm = if-unchanged` option and enable it by default for `profile = codegen`

Three tasks have been implemented here.

Add a new `download-ci-llvm = if-unchange` option and enable if by
default for `profile = codegen`.

Include all build artifacts by traversing the llvm-project build output,
Keep the downloadable llvm the same state as if you have just run a full
source build.

After selecting the codegen profile during ./x.py setup, the submodule
will be automatically downloaded.

Resolves #110087
2023-11-08 08:08:50 +00:00
Zalathar
a573880373 coverage: Rename the run-coverage test mode to coverage-run
This makes it more consistent with the `coverage-map` mode and the shared
`tests/coverage` test directory.
2023-11-08 16:41:24 +11:00
LuuuX
1b8dee19e8 Fix issue #110087
Three tasks have been implemented here.

Add a new `download-ci-llvm = if-unchange` option and enable if by
default for `profile = codegen`.

Include all build artifacts by traversing the llvm-project build output,
Keep the downloadable llvm the same state as if you have just run a full
source build.

After selecting the codegen profile during ./x.py setup, the submodule
will be automatically downloaded.
2023-11-08 09:22:28 +08:00
Alex Macleod
f2fd8ad788 Document clippy_config in nightly-rustc docs 2023-11-07 13:21:04 +00:00
klensy
eed89185bb bump some deps
drop num_cpus from rust-installer as not used
update rayon, rayon-core, which drops it's deps on num_cpus and crossbeam-channel (for bootstrap too) (https://github.com/rayon-rs/rayon/blob/v1.8.0/RELEASES.md)
update erro, which drops errno-dragonfly (5341791935/CHANGELOG.md)
2023-11-07 15:33:59 +03:00
Zalathar
4e6f438d2a coverage: Register test::Coverage as the test suite for tests/coverage
This restores the ability to run a coverage test by specifying its path, e.g.
`./x.py test tests/coverage/if.rs`. This runs the test in both modes.
2023-11-07 11:15:19 +11:00
Zalathar
49127c64d6 coverage: Migrate tests/coverage-map into tests/coverage 2023-11-07 11:15:19 +11:00
Zalathar
e9d04c5e24 coverage: Migrate tests/run-coverage into tests/coverage 2023-11-07 11:15:19 +11:00
Zalathar
aea7c27eae coverage: Set up a macro for declaring unified coverage test suites 2023-11-07 11:15:19 +11:00
Zalathar
3509aed632 coverage: Add ./x.py test coverage, an alias for coverage-map and run-coverage 2023-11-07 11:15:19 +11:00
Pietro Albini
580fa0c1a9
rename github_repository to git_repository 2023-11-06 15:53:32 +01:00
bors
f9b644636f Auto merge of #117435 - SparrowLii:nightly_parallel, r=oli-obk,davidtwco
enable parallel rustc front end in nightly builds

Refers to the [MCP](https://github.com/rust-lang/compiler-team/issues/681), this pr does:
1. Enable the parallel front end in nightly builds, and keep the default number of threads as 1. Then users can use the parallel rustc front end via -Z threads=n option.

2. Set it up to serial front end for beta/stable builds via bootstrap.

3. Switch over the alt builders from parallel rustc to serial, so we have artifacts without parallel to test against the artifacts with parallel.

r? `@oli-obk`

cc `@cjgillot` `@nnethercote` `@bjorn3` `@Kobzol`
2023-11-06 07:41:22 +00:00
bors
6c7de3181b Auto merge of #117574 - onur-ozkan:fix-compiler-crate-linking, r=Mark-Simulacrum
improve compiler&tool documenting and re-enable cranelift on CI

First commit addresses the linking issue with compiler crates. Second one ensures that compiler crates are linked correctly (with later commits we added this check for tools as well), allowing us to detect these hard-to-catch bugs on CI. Following three commits cherry-picked from #117328 to re-enable the Cranelift backend on CI.

More info: https://github.com/rust-lang/rust/issues/117430

cc `@bjorn3` `@RalfJung`
2023-11-05 15:41:35 +00:00