about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2023-07-15Rollup merge of #113683 - ozkanonur:polished, r=jyn514Matthias Krüger-13/+1
remove outdated `FIXME`s in bootstrap internals self-explanatory
2023-07-15Rollup merge of #113644 - jyn514:bootstrap-cleanups, r=albertlarsan68Matthias Krüger-66/+52
misc bootstrap cleanups - rename `detail_exit_macro` to `exit` - remove unnecessary `Builder::new_standalone` function - support `x suggest` with build-metrics
2023-07-15Remove unused `bootstrap::util::CiEnv` enumjyn-10/+0
the right one is `build_helper::CiEnv`; this one wasn't even used.
2023-07-15Replace `builder::try_run_quiet` with `run_quiet_delaying_failure`jyn-17/+13
It was only used when a `builder` is available, and I want to encourage using the version that supports `--no-fail-fast`.
2023-07-15Rename `Builder::try_run` to `run_delaying_failure`jyn-16/+16
2023-07-15Deduplicate `Builder::try_run` and mark `Config::try_run` as deprecatedjyn-63/+63
This does three things: 1. Remove `forward!(Build, fn try_run())`. Having `try_run` behave differently as a free function than an associated function is confusing, and `Builder::try_run` is a very desirable name. 2. Move `test::try_run` and `run::try_run` to `Builder::try_run`. These functions are different than `Config::try_run` - they delay the failure and print it out at the end of the build. 3. Mark `Config::try_run` as deprecated to encourage people to use `Builder::try_run` instead.
2023-07-15Fix rpath for libdir is specifiedWANG Rui-2/+3
Signed-off-by: WANG Rui <wangrui@loongson.cn>
2023-07-14fix another nesting issuejyn-4/+4
2023-07-14fix another GHA log panicjyn-0/+3
2023-07-14add a couple more groupsjyn-7/+12
- group rustdoc-js-std - group rust-installer/test.sh
2023-07-14Add `track_caller` to builder.msgjyn-0/+8
this makes the panics on nested GHA groups more useful
2023-07-14put configure behind a groupjyn-1/+5
2023-07-14don't print download progress in CIjyn-3/+8
2023-07-14Add must_use to `msg_` functionsjyn-45/+67
This caught several places which weren't waiting until the command finished to drop the Group. I also took the liberty of calling `msg_sysroot_tool` from `run_cargo_test` to reduce code duplication and make errors like this less likely in the future.
2023-07-14Add GHA log groups for tool testsjyn-0/+20
2023-07-14Make sure toolstates.json ends in a newlinejyn-1/+4
This avoids the following broken logging in CI: ``` {"book":"test-pass","reference":"test-pass","rustbook":"test-fail","rust-by-example":"test-pass","nomicon":"test-pass","embedded-book":"test-pass","edition-guide":"test-pass"}::group::Building bootstrap ```
2023-07-14fix nested GHA groups (redux)jyn-10/+6
2023-07-14Don't checkout the LLVM submodule in `x dist --dry-run`jyn-1/+3
We don't actually need it and it's quite slow.
2023-07-14Don't nest GHA groups in `check::Std`jyn-0/+1
2023-07-14Add even more GHA log groupsjyn-15/+45
This also adds a dynamic check that we don't emit nested groups, since GHA currently doesn't support them.
2023-07-14Fix `x suggest --run`jyn-3/+2
i broke this in the previous commit; and metrics never worked until i switched from `execute_cli` to build
2023-07-14remove outdated FIXMEs on bootstrapozkanonur-13/+1
Signed-off-by: ozkanonur <work@onurozkan.dev>
2023-07-14bootstrap: update defaults for `compiler` and `library` aliasesLukas Markeffsky-86/+114
2023-07-14Rollup merge of #113640 - jyn514:nodejs-defaults, r=GuillaumeGomezMatthias Krüger-43/+39
Make `nodejs` control the default for RustdocJs tests instead of a hard-off switch If someone says `x test rustdoc-js-std` explicitly on the command line, it's because they want to run the tests. Give an error instead of doing nothing and reporting success. Before: ``` ; x t rustdoc-js No nodejs found, skipping "tests/rustdoc-js" tests Build completed successfully in 0:00:00 ``` After: ``` ; x t rustdoc-js thread 'main' panicked at 'need nodejs to run js-doc-test suite', test.rs:1566:13 Build completed unsuccessfully in 0:00:00 ``` I recommend viewing the diff with whitespace changes disabled. r? ````@GuillaumeGomez````
2023-07-13Auto merge of #113637 - Mark-Simulacrum:bootstrap-bump, r=ozkanonurbors-3/+9
Bump bootstrap to 1.72 beta
2023-07-13Rollup merge of #113616 - edg-l:fix_bootstrap, r=albertlarsan68Matthias Krüger-1/+1
Fix bootstrap.py uname error The x.py script fails with `ValueError: too many values to unpack (expected 3)` when uname -smp gives more than 3 words The error I got: ``` ❯ ./x check Traceback (most recent call last): File "/data1/edgar/rust/x.py", line 50, in <module> bootstrap.main() File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1113, in main bootstrap(args) File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 1070, in bootstrap build = RustBuild(config_toml, args) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 505, in __init__ self.build = args.build or self.build_triple() ^^^^^^^^^^^^^^^^^^^ File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 976, in build_triple return config or default_build_triple(self.verbose) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/data1/edgar/rust/src/bootstrap/bootstrap.py", line 259, in default_build_triple kernel, cputype, processor = uname.decode(default_encoding).split() ^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: too many values to unpack (expected 3) ``` This is because ``` ❯ uname -smp Linux x86_64 AMD Ryzen 7 5800X 8-Core Processor ``` Returns more than 3 space separated words.
2023-07-13Support `x suggest` with build-metricsjyn-8/+9
2023-07-13Remove unnecessary `Builder::new_standalone` functionjyn-23/+9
2023-07-13Rename `detail_exit_macro` to `exit`jyn-35/+35
`detail` and `macro` weren't adding any info.
2023-07-13Make `nodejs` control the default for RustdocJs tests instead of a hard-off ↵jyn-43/+39
switch If someone says `x test rustdoc-js-std` explicitly on the command line, it's because they want to run the tests. Give an error instead of doing nothing and reporting success.
2023-07-12Re-format let-else per rustfmt updateMark Rousskov-3/+9
2023-07-12Auto merge of #113214 - GuillaumeGomez:try-run-fix, r=ozkanonur,jyn514bors-27/+22
Don't fail early if `try_run` returns an error Fixes https://github.com/rust-lang/rust/issues/113208. Follow-up of #112962. r? `@jyn514`
2023-07-12Fix bootstrap.py uname error.Edgar Luque-1/+1
The x.py script fails with `ValueError: too many values to unpack (expected 3)` when uname -smp gives more than 3 words
2023-07-11Rollup merge of #113579 - ekusiadadus:master, r=albertlarsan68Jubilee-5/+1
Revert "fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy … ## why - [x] revert my broken PR https://github.com/rust-lang/rust/pull/110906 This reverts commit 08ce68b6a6bad360e9c3611ad60cf6598401f878.
2023-07-11Rollup merge of #113373 - jyn514:download-rustc-fixes, r=albertlarsan68Jubilee-22/+63
various download-rustc fixes separated out from https://github.com/rust-lang/rust/pull/112143 because it keeps getting stuck in limbo. best reviewed commit-by-commit
2023-07-11Move `ci_rustc_dir` to Config and use it consistentlyjyn-8/+9
2023-07-12Revert "fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy error"ekusiadadus-5/+1
This reverts commit 08ce68b6a6bad360e9c3611ad60cf6598401f878.
2023-07-11Don't fail early if `try_run` returns an errorGuillaume Gomez-27/+22
2023-07-11Rollup merge of #113551 - jyn514:dry-run-exclude, r=ozkanonurMatthias Krüger-3/+7
bootstrap: Don't print "Skipping" twice Bootstrap executes itself twice: once with DryRun::SelfCheck and DryRun::Disabled. Change it not to print the "Skipping" message if SelfCheck is enabled. See https://github.com/rust-lang/rust/actions/runs/5503931599/jobs/10029625567?pr=113514#step:24:772.
2023-07-10Don't print "Skipping" twicejyn-3/+7
Bootstrap executes itself twice: once with DryRun::SelfCheck and DryRun::Disabled. Change it not to print the "Skipping" message if SelfCheck is enabled. See https://github.com/rust-lang/rust/actions/runs/5503931599/jobs/10029625567?pr=113514#step:24:772.
2023-07-09Auto merge of #113341 - Kobzol:stage0-sysroot, r=Mark-Simulacrumbors-0/+43
Copy stage0 `rustc` binaries to `stage0-sysroot` This is basically a revival of https://github.com/rust-lang/rust/pull/101711 and https://github.com/rust-lang/rust/pull/107956, with an added check that the full sysroot will only be created if the original rustc comes from `stage0/bin`. What is/should be tested: - [x] `rustup toolchain link stage0` (new libstd is used correctly) - [x] `python3 x.py fmt dist --stage 0` - [x] Custom rustc/cargo in `config.toml` (in this case this logic is ignored) - [x] Perfbot (try perf run has succeeded) - [x] Real use case (https://github.com/rust-lang/backtrace-rs/pull/542) (Hopefully) fixes: https://github.com/rust-lang/rust/issues/101691 This is not the "end all, be all" solution to this problem, but as long as it resolves the basic use-case, and doesn't break perfbot, I say ship it. This code will probably be nuked anyway Soon™ because of the stage redesign.
2023-07-09Rollup merge of #113273 - hi-rustin:rustin-patch-opt-level, r=KobzolMatthias Krüger-14/+64
Use String or Int to set the opt level Address https://github.com/rust-lang/rust/pull/112756/files#r1249345725 Use String or Int to set the opt level. r? ``@jyn514``
2023-07-09Port PGO/LTO/BOLT optimized build pipeline to RustJakub Beránek-100/+18
2023-07-09Use String or Int to set the opt levelhi-rustin-14/+64
Signed-off-by: hi-rustin <rustin.liu@gmail.com>
2023-07-08Auto merge of #113484 - matthiaskrgr:rollup-goq2u0d, r=matthiaskrgrbors-2/+2
Rollup of 7 pull requests Successful merges: - #112931 (Enable zlib in LLVM on aarch64-apple-darwin) - #113158 (tests: unset `RUSTC_LOG_COLOR` in a test) - #113173 (CI: include workflow name in concurrency group) - #113335 (Reveal opaques in new solver) - #113390 (CGU formation tweaks) - #113399 (Structurally normalize again for byte string lit pat checking) - #113412 (Add basic types to SMIR) r? `@ghost` `@rustbot` modify labels: rollup
2023-07-08Fail the build if clippy tests don't passNilstrieb-0/+4
This was removed in https://github.com/rust-lang/rust/pull/113260/commits/de69d556eb5006a21f868b8c12d48f0ef1308a5a#diff-8479eab02701e686aedb15b567dc8fc31220c6e4efb9565ccc9d662b7fee2214 which caused CI to ignore clippy failures. This adds back the exit, which should cause CI to fail again if a test is broken (like right now, as clippy tests are broken on master).
2023-07-08Rollup merge of #112931 - cbeuw:apple-zlib, r=Mark-SimulacrumMatthias Krüger-2/+2
Enable zlib in LLVM on aarch64-apple-darwin Works on macOS 13.4, Xcode version 14.3.1.0.1.1683849156 This was disabled in #75500 on Apple Silicon Developer Transition Kit, but Apple appears to have fixed their zlib now
2023-07-06Rollup merge of #113371 - jyn514:submodule-with-tags, r=albertlarsan68fee1-dead-0/+3
Fix submodule handling when the current branch is named after a tag If: 1. The current branch has the same name as git tag, and 2. The current branch is set to track a remote other than `origin`, and 3. We try to update a submodule then we'll get the following error: ``` ; x c Updating submodule src/doc/reference remote: Total 0 (delta 0), reused 0 (delta 0), pack-reused 0 fatal: 'personal' does not appear to be a git repository fatal: Could not read from remote repository. ``` The problem is that 1. causes `git symbolic-ref --short HEAD` to try and disambiguate the branch from the tag using `heads/branch-name`, which breaks a previous workaround for a bug in `git submodule update` that uses the wrong remote. Adapt the workaround to strip `heads/` from the output.
2023-07-05allow mixing `llvm.assertions` and `download-rustc`jyn-22/+22
by using `rustc-builds-alt` if download-rustc is set this also changes the download code to use a separate build/cache/ directory and .rustc-stamp stamp file depending on whether assertions are enabled.
2023-07-05fix `x test --stage 0 core`jyn-1/+1