| Age | Commit message (Collapse) | Author | Lines |
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
|
|
|
|
r=clubby789
Use `download-rustc=false` global default, `if-unchanged` for tools and library profiles, and make `rust.debug-assertions=true` inhibit downloading CI rustc
- Use `download-rustc = false` as global default.
- Use `download-rustc = 'if-unchanged'` for tools and library profiles.
- Make `rust.debug-assertions = true` inhibit downloading CI rustc because alt rustc builds do not yet have rustc debug assertions enabled.
Fixes #133132.
cc discussions: https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Bootstrap.20breakage
compiler contributors poll: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F/near/481877253
library contributors poll: https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/.60download-rustc.20.3D.20.22if-unchanged.22.60.20default.20for.20libs.20profile.3F/near/482607011
cc https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/When.20is.20rustc.20built.20with.20debug.20assertions.3F
cc `@MarcoIeni` since you're working on improving CI job times, sorry, this will definitely regress some CI job times because we're probably lying to ourselves that CI rustc had debug assertions for some time 😅
cc `@onur-ozkan` for FYI, but since you're on vacation (sorry for the ping),
r? `@Kobzol` (I *think* you have a bit more context than other bootstrap reviewers?)
|
|
Without this change:
$ ./x test --set build.vendor=true src/doc/book
# (lots of output)
error: failed to select a version for the requirement `futures = "^0.3"` (locked to 0.3.30)
candidate versions found which didn't match: 0.3.31, 0.3.27
location searched: directory source `/Users/chris/dev/rust-lang/rust/vendor` (which is replacing registry `crates-io`)
required by package `trpl v0.2.0 (/Users/chris/dev/rust-lang/rust/src/doc/book/packages/trpl)`
perhaps a crate was updated and forgotten to be re-vendored?
Build completed unsuccessfully in 0:01:19
With this change:
$ ./x test --set build.vendor=true src/doc/book
# (lots of build output)
Testing stage1 mdbook src/doc/book (aarch64-apple-darwin)
finished in 86.949 seconds
Build completed successfully in 0:04:05
# Conflicts:
# src/bootstrap/src/core/build_steps/vendor.rs
|
|
|
|
Since TRPL now depends on a `trpl` crate, the test needs to be able to
build that crate to run mdbook against it, and also to invoke mdbook
with `--library-path` in that case. Use the support for that flag added
to `rustbook` in the previous change to invoke it with the path to the
dependencies it will need to run `rustdoc` tests which reference `trpl`.
Co-authored-by: Onur Özkan <onurozkan.dev@outlook.com>
|
|
Warn if `rust.download-rustc = true` is used with
`rust.debug-assertions` as alt CI rustc is not currently built with
debug assertions (not to be confused with LLVM assertions).
|
|
And only default library and tools profile to `rust.download-rustc =
"if-unchanged"`.
|
|
Update `cc` + bump bootstrap deps
https://github.com/rust-lang/rust/pull/132556#issuecomment-2471741435
note: The compiler/library/tools cc bumps have been tested with a try job, the bootstrap changes have not
|
|
Fix missing submodule in `./x vendor`
The `src/tools/rustc-perf` submodule is needed for vendoring because it is included in the vendor set.
To test this:
1. Get a fresh clone of `rust-lang/rust`
2. `./x vendor`
|
|
generate-copyright: Now generates a library file too.
We only run reuse once, so the output has to be filtered to find only the files that are relevant to the library tree.
Outputs COPYRIGHT.html and COPYRIGHT-library.html.
The license-metadata.json file is also now in the tree. We need a CI tool to check that it's correct.
r? kobzol
Remaining steps:
* [ ] Teach CI to double-check the license-metadata.json file is correct
* [ ] Add the COPYRIGHT.html and COPYRIGHT-license.html to the releases
|
|
This moves the list of submodules needed to vendor close to the list of
cargo workspaces with the intent to help ensure they keep up-to-date and
in sync.
|
|
fmt
fix cfg for windows
remove unused imports
address comments
update libc to 0.2.164
fmt
remove unused imports
|
|
We only run reuse once, so the output has to be filtered to find only the files that are relevant to the library tree.
Outputs build/COPYRIGHT.html and build/COPYRIGHT-library.html.
|
|
The `src/tools/rustc-perf` submodule is needed for vendoring because
it is included in the vendor set.
|
|
|
|
|
|
|
|
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
|
|
|
|
|
|
There is an ongoing discussion about this on Zulip and for now we
want to keep these disabled.
Zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
r=jieyouxu"
This reverts commit c0cee4e36b5f0964bdeb2ac12cfd9002addb51cc.
|
|
Rollup of 7 pull requests
Successful merges:
- #131831 (extend the "if-unchanged" logic for compiler builds)
- #132541 (Proper support for cross-crate recursive const stability checks)
- #132657 (AIX: add run-make support)
- #132901 (Warn about invalid `mir-enable-passes` pass names)
- #132923 (Triagebot: Consolidate the T-compiler ad hoc assignment groups)
- #132938 (Make precise capturing suggestion machine-applicable only if it has no APITs)
- #132947 (clarify `must_produce_diag` ICE for debugging)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
r=Mark-Simulacrum
extend the "if-unchanged" logic for compiler builds
Implements the first item from [this tracking issue](https://github.com/rust-lang/rust/issues/131744).
In short, we want to make "if-unchanged" logic to check for changes outside of certain allowed directories, and this PR implements that.
See https://github.com/rust-lang/rust/issues/131658 for more context.
|
|
Delete the `cfg(not(parallel))` serial compiler
Since it's inception a long time ago, the parallel compiler and its cfgs have been a maintenance burden. This was a necessary evil the allow iteration while not degrading performance because of synchronization overhead.
But this time is over. Thanks to the amazing work by the parallel working group (and the dyn sync crimes), the parallel compiler has now been fast enough to be shipped by default in nightly for quite a while now.
Stable and beta have still been on the serial compiler, because they can't use `-Zthreads` anyways.
But this is quite suboptimal:
- the maintenance burden still sucks
- we're not testing the serial compiler in nightly
Because of these reasons, it's time to end it. The serial compiler has served us well in the years since it was split from the parallel one, but it's over now.
Let the knight slay one head of the two-headed dragon!
#113349
Note that the default is still 1 thread, as more than 1 thread is still fairly broken.
cc `@onur-ozkan` to see if i did the bootstrap field removal correctly, `@SparrowLii` on the sync parts
|
|
Since it's inception a long time ago, the parallel compiler and its cfgs
have been a maintenance burden. This was a necessary evil the allow
iteration while not degrading performance because of synchronization
overhead.
But this time is over. Thanks to the amazing work by the parallel
working group (and the dyn sync crimes), the parallel compiler has now
been fast enough to be shipped by default in nightly for quite a while
now.
Stable and beta have still been on the serial compiler, because they
can't use `-Zthreads` anyways.
But this is quite suboptimal:
- the maintenance burden still sucks
- we're not testing the serial compiler in nightly
Because of these reasons, it's time to end it. The serial compiler has
served us well in the years since it was split from the parallel one,
but it's over now.
Let the knight slay one head of the two-headed dragon!
|
|
ismailarilik:test/configure/cover-parse-args-in-src-bootstrap-configure-py, r=onur-ozkan
test(configure): cover `parse_args` in `src/bootstrap/configure.py`
I was reading `src/bootstrap/configure.py` and `parse_args` function there seems complex. So I added some tests to cover it and prevent regressions.
|
|
|
|
Rollup of 4 pull requests
Successful merges:
- #129627 (Ensure that tail expr receive lifetime extension)
- #130999 (Implement file_lock feature)
- #132873 (handle separate prefixes in clippy rules)
- #132891 (Remove `rustc_session::config::rustc_short_optgroups`)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Only copy, rename and link `llvm-objcopy` if llvm tools are enabled
Fixes #132719.
cc `@bjorn3` who reported the bootstrapping problem for cg_clif.
cc `@davidtwco` in case this might be problematic for linux -> macOS cross-compile builds, but seems very unlikely.
cc `@albertlarsan68` (co-reviewed #131405)
r? bootstrap
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
This reverts commit c435fa8c4b55f0f8ef8e2e839ce7de960613267e, reversing
changes made to 88acd493f9dbbc8228db2b123c9b4132a995de92.
Seems to have unintentionally omitted commit hash leading to
<https://github.com/rust-lang/rust/pull/132772>.
|
|
use `download-rustc="if-unchanged"` as a global default
If `download-rustc` isn't explicitly set and the source is Git-managed, it should be totally okay to utilize "if-unchanged" behaviour. The "dist" profile already sets `download-rustc` to `false`, so this shouldn’t impact anything on CI.
This also resolves an unhandled case where `bootstrap` unexpectedly panics if `"if-unchanged"` was used with a non-Git source. Now we exits gracefully with an error message pointing the problem.
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|