Commit graph

1588 commits

Author SHA1 Message Date
bors
227690a258 Auto merge of #137011 - LuuuXXX:promote-ohos-with-host-tools, r=Amanieu
Promote ohos targets to tier2 with host tools.

### What does this PR try to resolve?

Try to promote the following [[Tier 2 without Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-without-host-tools) targets to [[Tier 2 with Host Tools](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools)](https://doc.rust-lang.org/rustc/platform-support.html#tier-2-with-host-tools):

- `aarch64-unknown-linux-ohos`
- `armv7-unknown-linux-ohos`
- `x86_64-unknown-linux-ohos`

### More Information?

see MCP: https://github.com/rust-lang/compiler-team/issues/811

### Blockage to be solved?

- [x] Submit an MCP
- [x] Submit code of promote ohos targets
- [x] Resolve related dependencies (`measureme`)

The modified code of the measureme has been merged (see https://github.com/rust-lang/measureme/pull/238). [done]
The new version will was released (https://github.com/rust-lang/measureme/pull/240). [done]
2025-03-16 18:42:18 +00:00
bors
9f274ba399 Auto merge of #137665 - Kobzol:update-sccache, r=marcoieni
Update sccache to 0.10.0

This time, does it also for Windows and macOS. This unifies the sccache version across all OSes that we use.

r? `@ghost`

try-job: dist-aarch64-apple
try-job: dist-x86_64-apple
try-job: dist-x86_64-msvc
try-job: dist-x86_64-msvc-alt
try-job: dist-i686-msvc
try-job: dist-aarch64-msvc
try-job: dist-x86_64-linux
try-job: dist-x86_64-netbsd
2025-03-15 20:13:16 +00:00
León Orell Valerian Liehr
9b8a6771bc
Rollup merge of #138507 - Kobzol:netbsd-mirror, r=Mark-Simulacrum
Mirror NetBSD sources

Should avoid issues with NetBSD servers.

r? ``@Mark-Simulacrum``

try-job: `*netbsd*`
2025-03-15 00:18:26 +01:00
León Orell Valerian Liehr
fc7ac81979
Rollup merge of #138451 - Kobzol:gcc-ci-build-gcc, r=GuillaumeGomez
Build GCC on CI with GCC, not Clang

It seems that GCC built with Clang misbehaves. I have tested that cg_gcc tests [pass](https://github.com/rust-lang/rust/actions/runs/13842365913/job/38732750617?pr=138451) on CI with a downloaded GCC that was built in this way.

Prerequisite for https://github.com/rust-lang/rust/pull/138395.

r? ```@ghost```
2025-03-15 00:18:23 +01:00
Jakub Beránek
9e3805d6d3 Mirror NetBSD sources 2025-03-14 17:44:07 +01:00
León Orell Valerian Liehr
c5e3857492
Rollup merge of #138487 - Kobzol:fix-doc-url-docker, r=marcoieni
Pass `CI_JOB_DOC_URL` to Docker

Fix-up for https://github.com/rust-lang/rust/pull/136911. I always forget to pass new environment variables to Docker images.. 🤦‍♂️

r? `@marcoieni`

try-job: x86_64-fuchsia
2025-03-14 17:26:39 +01:00
Jakub Beránek
2aa68ac429
Remove RUN_CHECK_WITH_PARALLEL_QUERIES
It is useless after the removal of the parallel compiler configuration.
2025-03-14 11:12:03 +01:00
Jakub Beránek
7afad54758
Pass CI_JOB_DOC_URL to Docker 2025-03-14 11:10:38 +01:00
Jakub Beránek
3fc7ca0fee Use GCC for building GCC 2025-03-13 21:29:46 +01:00
Jakub Beránek
36719a90f7 Update sccache to 0.10.0
This time, does it also for Windows and macOS.
2025-03-12 16:11:24 +01:00
LuuuXXX
4cd350f616 remove zip file in /tmp to save some space and use large runner 2025-03-06 20:34:28 +08:00
Jubilee
7ba7cc835e
Rollup merge of #137947 - Kobzol:fix-rfl, r=marcoieni
Do not install rustup on Rust for Linux job

Trying to fix the RfL job after the recent rustup update.

r? ``@ghost``

try-job: x86_64-rust-for-linux
2025-03-04 14:50:42 -08:00
Jubilee
df2a263ec2
Rollup merge of #137667 - Kobzol:gcc-dist-build, r=onur-ozkan
Add `dist::Gcc` build step

This PR adds a `dist:Gcc` bootstrap step to distribute a prebuilt `libgccjit.so` from CI on x64 Linux.

With primed sccache, the build takes ~4 minutes on CI, and produces a 50 MiB archive.

I want to land this before adding something akin to `[gcc] download-ci-gcc = true`, to already have the artifacts available on CI, to make it easier to setup the download merge-base logic.

r? ``@ghost``
2025-03-04 14:50:41 -08:00
LuuuXXX
3eb04fd590 add support for extend rust tools and sanitizer 2025-03-04 17:55:06 +08:00
LuuuXXX
4dab55bcaa Revert "add fix for full tools and sanitizer"
This reverts commit 6efacfb7a5.
2025-03-04 17:38:06 +08:00
LuuuXXX
6efacfb7a5 add fix for full tools and sanitizer 2025-03-04 17:25:54 +08:00
LuuuXXX
6324b39873 promote ohos targets to tier to with host tools 2025-03-04 17:13:46 +08:00
Jakub Beránek
e3117e6e18 Do not use rustup to build Rust for Linux 2025-03-03 20:55:27 +01:00
Eric Huss
93b8279f4f Fix docker run-local docs 2025-03-03 07:15:34 -08:00
bors
4b696e6bf7 Auto merge of #136864 - Kobzol:citool, r=marcoieni
Rewrite the `ci.py` script in Rust

It would seem that I would learn by now that any script written in Python will become unmaintainable sooner or later, but alas..

r? `@marcoieni`

try-job: aarch64-gnu
try-job: dist-x86_64-linux-alt
try-job: x86_64-msvc-ext2

Fixes: https://github.com/rust-lang/rust/issues/137013
2025-03-02 09:18:02 +00:00
Jakub Beránek
e4bfad2ba1 Build GCC on the Linux x64 dist runner 2025-02-28 09:43:05 +01:00
bors
a46c755c6a Auto merge of #136921 - Kobzol:gcc-build, r=onur-ozkan
Build GCC on CI

Previously, we have downloaded a specific commit of GCC and prebuilt it inside Docker using the `build-gccjit.sh` script. This PR removes that scripts and uses the bootstrap GCC step. This allows us to use the `src/gcc` submodule for determining which GCC should be built, and it also moves the logic closer to LLVM, which is also built by bootstrap.

A few things to note:
- The `sccache` option is currently in the `llvm` block, so the GCC build uses `llvm.ccache`, which is a bit weird :) We could either add `gcc.ccache`, or (what I think would be better) to just move `ccache` to the `build` section, as I don't think that it will be necessary to use ccache for LLVM, but not for GCC.
- When the GCC codegen backend is built, it needs to depend on a step that first builds GCC. This is currently done in a hacky way. The proper solution is to create a separate step for the GCC codegen backend, but that is a larger change. Let me know what you think.

r? `@onur-ozkan`

try-job: i686-msvc-1
try-job: x86_64-mingw-1
2025-02-26 03:04:21 +00:00
León Orell Valerian Liehr
8462d56fc1
Rollup merge of #137539 - GuillaumeGomez:copy-content-tests, r=notriddle
Add rustdoc-gui regression test for #137082

Fixes https://github.com/rust-lang/rust/issues/137082.

Added new commands in `browser-ui-test` allowing us to add a regression test for #137082 and also another to copy code examples content.

r? `@notriddle`
2025-02-25 13:07:34 +01:00
Guillaume Gomez
6b2f5cf43f Update browser-ui-test version to 0.20.3 2025-02-24 11:52:33 +01:00
bors
07697360ae Auto merge of #137189 - Kobzol:update-host-llvm, r=nikic
Update host LLVM to 20.1 on CI

r? `@ghost`
2025-02-22 22:58:17 +00:00
bors
eeb9035117 Auto merge of #137023 - Kobzol:bump-sccache, r=marcoieni
Bump sccache in CI to 0.9.1

We haven't updated the used sccache version for years, it has accrued a bunch of fixes and features in the meantime. It now supports the `--show-adv-stats` flag, which gives a more detailed summary of the results of caching. And it can also cache Rust code, which could be useful in the future (https://github.com/rust-lang/rust/pull/136942 - although now there are no large wins).

It also supports caching PGO now, but since the PGO profiles are always different, it won't make any real difference.

https://github.com/rust-lang/rust/pull/133076 previously tried to update the version to 0.3 (CC `@klensy)`

r? `@marcoieni`
2025-02-20 05:59:04 +00:00
bors
de91711756 Auto merge of #137176 - matthiaskrgr:rollup-eht05gr, r=matthiaskrgr
Rollup of 9 pull requests

Successful merges:

 - #136959 (Simplify switch sources)
 - #137020 (Pass vendored sources from bootstrap to generate-copyright)
 - #137073 (boostrap: skip no_std targets in Std doc step)
 - #137165 (Use `tell` for `<File as Seek>::stream_position`)
 - #137166 (Update default loongarch code model in docs)
 - #137168 (correct comment)
 - #137169 (CI: rfl: move job forward to Linux v6.14-rc3)
 - #137170 (Allow configuring jemalloc per target)
 - #137173 (Subtree update of `rust-analyzer`)

r? `@ghost`
`@rustbot` modify labels: rollup
2025-02-18 00:05:30 +00:00
Jakub Beránek
28d589cb38
Update host LLVM to 20.1 on CI 2025-02-17 20:58:24 +01:00
bors
ce36a966c7 Auto merge of #135763 - nikic:llvm-20, r=cuviper
Update to LLVM 20

LLVM 20 GA is scheduled for March 11th. Rust 1.87 will be stable on May 15th.

* [x] https://github.com/rust-lang/rust/pull/135764
* [x] https://github.com/rust-lang/rust/pull/136134
* [x] https://github.com/rust-lang/compiler-builtins/pull/752
* [x] https://github.com/llvm/llvm-project/pull/125287
* [x] https://github.com/rust-lang/rust/pull/136537
* [x] https://github.com/rust-lang/rust/pull/136895
* [x] Wait for beta branch (Feb 14).

Tested: host-x86_64, host-aarch64, apple, mingw, msvc
2025-02-17 14:19:33 +00:00
WANG Rui
1873bd3720 Default to the medium code model for the loongarch64-linux toolchains
The medium code model is already the default on the Rust side.
Make sure that linked in C objects (e.g. from glibc) also use
medium code model.
2025-02-17 12:42:00 +01:00
Jakub Beránek
7f154fa4d1
Update documentation 2025-02-17 12:27:44 +01:00
Miguel Ojeda
f46c7652d5 CI: rfl: move job forward to Linux v6.14-rc3
Linux v6.14-rc3 contains commit 6273a058383e ("x86: rust: set
rustc-abi=x86-softfloat on rustc>=1.86.0"), which resolves the error
from https://github.com/rust-lang/rust/pull/136146.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2025-02-17 10:46:01 +01:00
Pietro Albini
a6ee2f4af2
fix musl's CVE-2025-26519 2025-02-16 16:36:55 +01:00
Jakub Beránek
b4d9d02538 Install bzip2
It is apparently required to download GCC dependencies.
2025-02-15 16:48:37 +01:00
Jakub Beránek
87fbd4e5df Remove build-gccjit.sh script 2025-02-14 18:42:58 +01:00
Jakub Beránek
0d0a2a3bea Do not pass empty AWS keys to sccache in PR builds 2025-02-14 12:30:50 +01:00
Jakub Beránek
ef7534a552 Update sccache version used on CI to 0.9.1 2025-02-14 12:29:59 +01:00
Matthias Krüger
111726c3fa
Rollup merge of #136628 - heiher:crosstool-ng-1.27, r=Mark-Simulacrum
ci: upgrade to crosstool-ng 1.27.0

try-job: dist-loongarch64-linux
try-job: dist-loongarch64-musl
try-job: dist-powerpc64le-linux
2025-02-10 16:38:24 +01:00
Matthias Krüger
8b69cf1983
Rollup merge of #136582 - asomers:revert-132232, r=tgross35
Revert "CI: build FreeBSD artifacts on FreeBSD 13.4"

This reverts commit cf34545720.

That commit led to a regression of
https://github.com/rust-lang/rust/issues/132185 .  So my analysis that the problem lay in FreeBSD 13.2's specific LLVM version was clearly wrong.  Revert that commit until we can figure out the real root cause.

Fixes #132185

try-job: dist-x86_64-freebsd
try-job: dist-various-2
2025-02-07 12:01:58 +01:00
WANG Rui
ed2823c6ef ci: upgrade to crosstool-ng 1.27.0 2025-02-06 10:23:44 +08:00
Guillaume Gomez
d92d9f837b Update browser-ui-test version to 0.20.2 2025-02-05 17:06:38 +01:00
Alan Somers
d4b8c82259 fixup: fix the compiler path in one more Dockerfile 2025-02-05 09:02:02 -07:00
Alan Somers
8d8028f400 Revert "CI: build FreeBSD artifacts on FreeBSD 13.4"
This reverts commit cf34545720.

That commit led to a regression of
https://github.com/rust-lang/rust/issues/132185 .  So my analysis that
the problem lay in FreeBSD 13.2's specific LLVM version was clearly
wrong.  Revert that commit until we can figure out the real root cause.

Fixes #132185
2025-02-05 07:02:16 -07:00
bors
f027438f8b Auto merge of #136146 - RalfJung:x86-abi, r=workingjubilee
Explicitly choose x86 softfloat/hardfloat ABI

Part of https://github.com/rust-lang/rust/pull/135408:
Instead of choosing this based on the target features listed in the target spec, make that choice explicit.
All built-in targets are being updated here; custom (JSON-defined) x86 (32bit and 64bit) softfloat targets need to explicitly set `rustc-abi` to `x86-softfloat`.
2025-02-03 20:02:54 +00:00
Ralf Jung
8596ce141c patch RfL job 2025-02-03 16:56:51 +01:00
León Orell Valerian Liehr
3cc6ea2ac6
Rollup merge of #136161 - notriddle:typescript, r=GuillaumeGomez
rustdoc: add nobuild typescript checking to our JS

By nobuild, I mean that the type annotations are all [in comments], not in the "native" typescript syntax. This is a bit uglier, but it lets you rapid-prototype without tsc, works with all the native browser debugging tools, and keeps Node out of Rust's bootstrap chain.

[in comments]: https://news.ycombinator.com/item?id=35892250

This pull request mostly just adds ts-ignore annotations and type declarations. To actually take good advantage of typescript, we'll want to "burn down" this pile of unsafe code until we eventually have a version with almost none of these.

This PR also adds tsc to the mingw-check Dockerfile, so that it can't fall out of date like the Closure annotations did.

https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript

r? `@GuillaumeGomez` `@lolbinarycat`
2025-01-29 06:03:22 +01:00
Michael Howell
d94b64dcef rustdoc: add nobuild typescript checking to our JS
By nobuild, I mean that the type annotations are all in comments,
not in the "native" typescript syntax. This is a bit uglier,
but it lets you rapid-prototype without tsc, works with all
the native browser debugging tools, and keeps Node out of Rust's
bootstrap chain.

This pull request mostly just adds ts-ignore annotations
and type declarations. To actually take good advantage of
typescript, we'll want to "burn down" this pile of unsafe code
until we eventually have a version with almost none of these.

This PR also adds tsc to the mingw-check Dockerfile, so that
it can't fall out of date like the Closure annotations did.

https://rust-lang.zulipchat.com/#narrow/channel/266220-t-rustdoc/topic/typescript
2025-01-27 19:20:09 -07:00
Ben Kimock
1f4309cec4 Fix 2/4 tests skipped by opt-dist 2025-01-27 16:06:30 -05:00
Matthias Krüger
da8b35a76a
Rollup merge of #135638 - Kobzol:gcc-ci, r=onur-ozkan
Make it possible to build GCC on CI

This is the first step towards eventually enabling download of precompiled GCC from our CI.

Currently, we prebuild `libgccjit` on CI and cache it in Docker. This PR improves the bootstrap GCC step to make it work on CI, and also to make it faster by using sccache. After this change, an actual build on CI should take only 2-3 minutes.

Note that this PR does not yet remove the `build-gccjit.sh` script and replace it with the bootstrap step, I'll leave that to a follow-up PR.

The added `flex` package and the ZSTD library fix were needed to make GCC build on CI.

CC ``````@GuillaumeGomez``````

r? ``````@onur-ozkan``````
2025-01-24 00:15:54 +01:00
Matthias Krüger
672d2de37b
Rollup merge of #135814 - marcoieni:use-buildkit-ghcr, r=Kobzol
ci: use ghcr buildkit image
2025-01-22 20:37:26 +01:00