Commit graph

204 commits

Author SHA1 Message Date
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
Ralf Jung
8596ce141c patch RfL job 2025-02-03 16:56:51 +01: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
ea594c692b
Rollup merge of #132232 - asomers:fbsd-13.4, r=Mark-Simulacrum
CI: build FreeBSD artifacts on FreeBSD 13.4

13.2 is EoL, and 13.3 will be EoL too in about 2 months.  Plus, both suffer from a bug in LLVM's libunwind.  It causes a segfault inside of std::backtrace::Backtrace::capture().

Fixes #132185

cc ``````@ehuss`````` .  before you can do the trybuild, you'll also have to download new FreeBSD 13.4 base.txz images and place them in https://ci-mirrors.rust-lang.org/rustc , then update this PR with the correct file names.

try-job: dist-x86_64-freebsd
try-job: dist-various-2
2025-01-21 23:30:17 +01:00
Jakub Beránek
00381ead1a
Make it possible to build GCC on CI
This is the first step to enable download of precompiled GCC
2025-01-21 11:24:10 +01:00
Matthias Krüger
e0e2f6a200
Rollup merge of #135476 - kleisauke:remove-asmjs-remnant, r=Kobzol
Remove remnant of asmjs

See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14 19:25:07 +01:00
Kleis Auke Wolthuizen
3a66b97b9b Remove remnant of asmjs
See: https://github.com/rust-lang/rust/issues/131467#issuecomment-2529314603.
2025-01-14 10:49:32 +01:00
Antoni Boucher
f3cfff7e98 Fix error in CI by updating the GCC version 2025-01-13 14:22:15 -05:00
Kajetan Puchalski
9ba34f8347 ci: Organise shared helper scripts
Move shared helper scripts used by Docker builds under docker/scripts.
2025-01-11 15:15:11 +00:00
Matthias Krüger
22de6f6880
Rollup merge of #134581 - erickt:bump_sdk, r=lqd
Bump Fuchsia toolchain for testing

This updates the Fuchsia SDK used to test rust on Fuchsia to 26.20241211.7.1, and clang to the development version 20 from 388d7f144880dcd85ff31f06793304405a9f44b6.

```@steven807``` asked me to take over the PR. Since I don't have commit access to his repo, I just cherry picked his patch here.

try-job: dist-various-2

r? lqd
2024-12-21 22:16:04 +01:00
Jakub Beránek
a5dce0e16d Revert "Auto merge of #133809 - mrkajetanp:ci-aarch64-dist, r=Kobzol"
This reverts commit 023521e682, reversing
changes made to c434b4b4b6.
2024-12-20 16:04:39 +01:00
许杰友 Jieyou Xu (Joe)
aa90dbcf13
Rollup merge of #134427 - MarcoIeni:ci-remove-code-duplication, r=Kobzol
ci: remove duplicate task definition

try-job: x86_64-gnu-llvm-19-1
try-job: x86_64-gnu-llvm-19-2
try-job: x86_64-gnu-llvm-19-3
try-job: x86_64-gnu-llvm-18-1
try-job: x86_64-gnu-llvm-18-2
try-job: x86_64-gnu-llvm-18-3
try-job: i686-gnu-1
try-job: i686-gnu-2
try-job: i686-gnu-nopt-1
try-job: i686-gnu-nopt-2
2024-12-19 16:48:08 +08:00
Steven Grady
a93c95b85b Bump Fuchsia toolchain for testing
This updates the Fuchsia SDK used to test rust on Fuchsia to
26.20241211.7.1, and clang to the development version 20 from
388d7f144880dcd85ff31f06793304405a9f44b6.
2024-12-18 11:40:01 -08:00
Kajetan Puchalski
3afda7e798
ci: Organise shared helper scripts
Move shared helper scripts used by Docker builds under docker/scripts.
2024-12-18 10:53:41 +00:00
MarcoIeni
5980dfe063
ci: remove duplicate task definition 2024-12-17 18:15:33 +01:00
MarcoIeni
ac078a4ccc
fix path 2024-12-12 19:34:45 +01:00
MarcoIeni
4fa9078b17
fix path 2024-12-12 19:19:04 +01:00
MarcoIeni
2bf1cec41b
refactor 2024-12-12 18:07:47 +01:00
MarcoIeni
7ce2944ef9
test stage 1 in separate job 2024-12-12 12:59:30 +01:00
MarcoIeni
1f38572e57
fix 2024-12-11 17:43:12 +01:00
MarcoIeni
abd8352de7
restore command 2024-12-11 11:29:18 +01:00
MarcoIeni
4f0e7816cd
split better 2024-12-11 10:29:59 +01:00
MarcoIeni
577b5f387f
CI: use free runners for x86_64-gnu-llvm jobs 2024-12-10 13:14:44 +01:00
Guillaume Gomez
9765a4ee75
Rollup merge of #133827 - ojeda:ci-rfl, r=lqd
CI: rfl: move job forward to Linux v6.13-rc1

Linux v6.13-rc1 contains commit 28e848386b92 ("rust: block: fix formatting of `kernel::block::mq::request` module"), which in turn contains commit c95bbb59a9b2 ("rust: enable arbitrary_self_types and remove `Receiver`"), which is why we had a hash rather than a tag.

r? ```@Kobzol``` ```@lqd```
try-job: x86_64-rust-for-linux
```@rustbot``` label A-rust-for-linux
```@bors``` try
2024-12-05 23:47:11 +01:00
Jakub Beránek
536516f949
Reformat Python code with ruff 2024-12-04 23:03:44 +01:00
Miguel Ojeda
7cc6f4da88 CI: rfl: move job forward to Linux v6.13-rc1
Linux v6.13-rc1 contains commit 28e848386b92 ("rust: block: fix formatting
of `kernel::block::mq::request` module"), which in turn contains commit
c95bbb59a9b2 ("rust: enable arbitrary_self_types and remove `Receiver`"),
which is why we had a hash rather than a tag.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-12-03 23:39:47 +01:00
rami3l
cddc8318f5 Bump unsupported ubuntu CI images to 24.04 LTS 2024-11-28 12:27:55 +08:00
Alan Somers
cf34545720 CI: build FreeBSD artifacts on FreeBSD 13.4
13.2 is EoL, and 13.3 will be EoL too in about 2 months.  Plus, both
suffer from a bug in LLVM's libunwind.  It causes a segfault inside of
std::backtrace::Backtrace::capture().

Fixes #132185
2024-10-28 08:58:46 -06:00
David Carlier
4ccaef12a6 Revert "ci update freebsd version proposal, freebsd 12 being eol."
This reverts commit 1239c81c14.

Fix GH-132185 revert for now until early next year/FreeBSD 13.3
becomes EOL.
2024-10-27 16:20:14 +00:00
Tyler Mandry
ce4fc999a7
Fix indentation 2024-10-25 19:38:16 -04:00
Clayton Wilkinson
d94a76a73f Update Fuchsia CI script for package serving
This updates the "start" and "stop" methods
of the test runner to use the standalone package
server.
2024-10-25 23:22:08 +00:00
Adrian Taylor
2eb7e0d370 CI: rfl: use rust-next temporary commit
Commit c95bbb59a9b22f9b838b15d28319185c1c884329 within rust-next
contains some changes required to be compatible with upcoming arbitraty
self types work. Roll RFL CI forward to the latest rust-next to include
that work.

Related:
https://github.com/rust-lang/rust/pull/130225
https://github.com/rust-lang/rust/issues/44874
2024-10-23 09:31:43 +00:00
bors
fb32dd41ed Auto merge of #120869 - devnexen:update_fbsd_ci, r=Mark-Simulacrum
ci update freebsd version proposal, freebsd 12 being eol

raising to the lowest still active supported freebsd version.
From 13.1 (already eol too), freebsd introduces a cpu affinity layer
with linux. It also introduces a api compatible copy_file_range which
can be used like its linux's counterpart.
The former is essential to build https://github.com/rust-lang/rust/pull/120589, therefore breaks the backward
compatibility with the previous FreeBSD releases.

Blocked on https://github.com/rust-lang/rust/issues/130465
2024-10-21 00:13:09 +00:00
c6c7
5d178e1d4d Make fuchsia-test-runner.py compatible with new JSON output from llvm-readelf
[A recent commit in LLVM](ab930ee7ca) modified the JSON output of LLVM. The LLVM change renamed "Notes" to "NoteSections" and inserted a new "Notes" key nested under each "NoteSection".

This change shores up exceptions around reading the JSON output of llvm-readelf and reads from "NoteSections" instead of the non-existent "Notes".
2024-10-15 11:59:01 -04:00
Matthias Krüger
eb060f6507
Rollup merge of #131533 - workingjubilee:update-emscripten-version, r=Kobzol
emscripten: Use the latest emsdk 3.1.68

This should fix our precompiled std being unsound in `std::fs` code.

Should resolve #131467 I hope.
2024-10-14 06:04:28 +02:00
onur-ozkan
b72dbd56ca move dummy commit logic into x86_64-gnu-llvm-18
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-10-11 15:30:51 +03:00
Jubilee Young
2c38ecfc90 emscripten: Use the latest emsdk 3.1.68
This should fix our precompiled std being unsound in `std::fs` code.
2024-10-10 23:55:28 -07:00
Miguel Ojeda
5fb71c677f CI: rfl: move job forward to Linux v6.12-rc2
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-10-07 23:32:48 +02:00
David Carlier
1239c81c14
ci update freebsd version proposal, freebsd 12 being eol.
raising to the lowest still active supported freebsd version.
From 13.1 (already eol too), freebsd introduces a cpu affinity layer
with linux. It also introduces a api compatible copy_file_range which
can be used like its linux's counterpart.
The former is essential to build #120589, therefore breaks the backward
compatibility with the previous FreeBSD releases.
2024-09-28 08:28:47 +01:00
Miguel Ojeda
778ff06ba6 CI: rfl: factor out build targets
It will make it easier to add more in the future.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
5c558d3ff4 CI: rfl: add macro expanded source build (-Zunpretty=expanded)
This particular target does not expand into much code, so it is a good
first candidate to see if we could keep this in the CI.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
d584f7099a CI: rfl: add a rustfmt run
This change will also remove the current warnings in the build due to
`rustfmt` not being available (for `bindgen` output):

    error: 'rustfmt' is not installed for the custom toolchain 'local'.
    note: this is a custom toolchain, which cannot use `rustup component add`
    help: if you built this toolchain from source, and used `rustup toolchain link`, then you may be able to build the component with `x.py`
    Failed to run rustfmt: Internal rustfmt error (non-fatal, continuing)

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
824397ddf6 CI: rfl: add a Clippy build
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
d783b1dabd CI: rfl: switch to a stage 2 build
Apparently tools like `rustfmt` require it in order to find the right
`librustc_driver.so` without extra tweaks.

Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Miguel Ojeda
992dd0bbe3 CI: rfl: add a couple comments to split the steps and document them
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-28 01:57:16 +02:00
Trevor Gross
e209b05037
Rollup merge of #128935 - lqd:needs-zstd, r=Kobzol
More work on `zstd` compression

r? ``@Kobzol`` as we've discussed this.

This is a draft to show the current approach of supporting zstd in compiletest, and making the tests using it unconditional.

Knowing whether llvm/lld was built with `LLVM_ENABLE_ZSTD` is quite hard, so there are two strategies. There are details in the code, and we can discuss this approach. Until we know the config used to build CI artifacts, it seems our options are somewhat limited in any case.

zlib compression seems always enabled, so we only check this in its dedicated test, allowing the test to ignore errors due to zstd not being supported.

The zstd test is made unconditional in what it tests, by relying on `needs-llvm-zstd` to be ignored when `llvm.libzstd` isn't enabled in `config.toml`.

try-job: x86_64-gnu
try-job: x86_64-msvc
try-job: x86_64-gnu-distcheck
2024-08-27 01:46:50 -05:00
Rémy Rakic
62c8c693bd move and rename zstd script
move it where it's used, and name it like the other scripts
2024-08-25 22:17:51 +00:00
Miguel Ojeda
90b4e17a1f CI: rfl: move to temporary commit
Link: https://github.com/rust-lang/rust/pull/129416
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2024-08-23 20:52:07 -07:00
Trevor Gross
582b0a6623
Rollup merge of #129048 - heiher:update-crosstool-loongarch64, r=Mark-Simulacrum
Update `crosstool-ng` for loongarch64

The current cross-compilation toolchain for the LoongArch64 target consists of GCC 13.2.0, Binutils 2.40, and Glibc 2.36. However, Binutils 2.40 has known issues that in broken binaries without any error reports:

- https://github.com/rust-lang/rust/issues/121289
- https://github.com/cross-rs/cross/issues/1538

This patch upgrades the cross-compilation toolchain for the LoongArch64 target to resolve these issues.

- GCC: 13.2.0 -> 14.2.0
- Binutils: 2.40 -> 2.42

The new binaries remain compatible with the existing GCC 13.2.0/Glibc 2.36 distribution, and no issues have been identified.

try-job: dist-loongarch64-linux
2024-08-18 23:41:48 -05:00
WANG Rui
cebae30f72 Update crosstool-ng for loongarch64
The current cross-compilation toolchain for the LoongArch64 target
consists of GCC 13.2.0, Binutils 2.40, and Glibc 2.36. However, Binutils
2.40 has known issues that in broken binaries without any error reports:

- https://github.com/rust-lang/rust/issues/121289
- https://github.com/cross-rs/cross/issues/1538

This patch upgrades the cross-compilation toolchain for the LoongArch64 target
to resolve these issues.

- GCC: 13.2.0 -> 14.2.0
- Binutils: 2.40 -> 2.42

The new binaries remain compatible with the existing GCC 13.2.0/Glibc 2.36
distribution, and no issues have been identified.
2024-08-13 11:41:37 +08:00