| Age | Commit message (Collapse) | Author | Lines |
|
This patch changes `bump-stage0` to include:
* The sha256 hash of the channel manifest used to create `src/stage0`.
* The rust and rustfmt git commit in `src/stage0`.
* Hashes of all the artifacts, like the source tarball, in `src/stage0`.
Combined this will allow for:
* Projects that bootstrap their own compiler, such as Fuchsia, or users
of [bootstrap], to build their compilers offline without needing to
communicate with static.rust-lang.org.
* Auditors to detect if the channel manifest, and all the artifacts
inside the manifest, were modified after it was used to generate
`src/stage0`. Furthermore, if they did find modified artifacts, they
could determine if the Rust Signing Key was compromised by checking if
any modified file was signed properly.
Finally, it allows regeneration of `src/stage0` when specifying both the
day of the build for rust, and the day of the build for rustfmt, which
can allow a maintainer to regenerate `src/stage0` to verify nothing
changed.
[bootstrap]: https://github.com/dtolnay/bootstrap
[mrustc]: https://github.com/thepowersgang/mrustc
|
|
Signed-off-by: houpo-bob <houpocun@outlook.com>
|
|
|
|
|
|
this removes the need for --unsafe-perm in the Dockerfile.
|
|
|
|
Only emit git errors if we are in CI environment
|
|
|
|
It would not be correct if multiple values of `target_dir` were ever passed to the function in the same process.
|
|
To centralize this hack in one place with a backlink to the issue
tracking this hack, as this logic is also needed by compiletest to
implement a `//@ needs-target-std` directive.
|
|
|
|
|
|
It is no longer needed after a recent refactoring.
|
|
|
|
subtree synces
|
|
|
|
It was always called with `Some`, so no need to complicate it with `Option`.
|
|
|
|
It shouldn't be needed anymore.
|
|
|
|
|
|
It shouldn't really happen, but if it does, at least we will have an explicit record of it.
|
|
And get rid of `get_closest_merge_commit`.
|
|
|
|
been modified locally
Also adds several git tests to make sure that the behavior works in common cases (PR CI, auto CI, local usage).
|
|
Shourya742:2025-04-15-add-retries-to-remove_and_create_dir_all, r=jieyouxu
add retries to remove and create dir all
closes: #139230
r? ```@jieyouxu```
|
|
|
|
|
|
I feel like they are still wrong, but maybe less so .-.
The `info:` was unhelpful -- we only use upstream in CI nowdays.
|
|
This will allow us to provide links to CI workflows, jobs and summaries in the post-merge analysis report.
|
|
|
|
|
|
r=Mark-Simulacrum"
Looks like unfortunately the `--diff-merges` flag is a `git show`-only
command, not `git rev-list`.
This reverts commit 95994f94ff5c9335426af4dec19afb5024f82fab, reversing
changes made to 7290b04b0a46de2118968aa556bfc0970aac6661.
|
|
fix download-llvm logic for subtree sync branches
Fixes https://github.com/rust-lang/rust/issues/101907
Cc `@onur-ozkan`
r? `@Mark-Simulacrum`
|
|
Rollup of 9 pull requests
Successful merges:
- #138364 (ports the compiler test cases to new rust_intrinsic format)
- #138570 (add `naked_functions_target_feature` unstable feature)
- #138623 ([bootstrap] Use llvm_runtimes for compiler-rt)
- #138627 (Autodiff cleanups)
- #138669 (tests: accept some noise from LLVM 21 in symbols-all-mangled)
- #138706 (Improve bootstrap git modified path handling)
- #138709 (Update GCC submodule)
- #138717 (Add an attribute that makes the spans from a macro edition 2021, and fix pin on edition 2024 with it)
- #138721 (Use explicit cpu in some asm and codegen tests.)
r? `@ghost`
`@rustbot` modify labels: rollup
|
|
Before it was using a different set of paths in different call-sites.
|
|
It was ignoring files without extension.
|
|
It only ever returned `Some`, so `Option` was useless in its return type.
|
|
|
|
|
|
trim channel value in `get_closest_merge_commit`
This was a silly bug which caused `git_upstream_merge_base` to never work because it was `nightly\n` not `nightly`.
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
When doing optimized build through opt-dist,
I've often run into errors like `invalid type: null, expected f64`.
This is likely because some f64 fields might actually bet set null.
Unfortunately, serde_json doesn't handle null <-> NaN well.
This commit addresses it by having a custom deserialize method, so
null is always be deserialized to `f64:NAN`.
See:
* https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/opt-dist.3A.20.60invalid.20type.3A.20null.2C.20expect.20f64.60.20failure
* https://github.com/serde-rs/json/issues/202
|
|
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|