about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2022-11-11Rollup merge of #104245 - kubycsolutions:master, r=jyn514Dylan DPC-0/+4
Reduce default configuration's dependency upon static libstdcpp library (#103606) Fixes #103606 Remove default dependency on static libstdcpp except during dist llvm builds (where we want static libraries so `libLLVM.so` is self-contained).
2022-11-10Avoid runtime dependency on static libstdc++kubycsolutions-0/+4
Usually, we do want to use the static C++ library when building rustc_llvm, but do not want to have that dependency at compiler runtime. Change the defaults to Make It So.
2022-11-09Rollup merge of #104201 - GuillaumeGomez:gui-test-check-file-errors, r=notriddleMichael Goulet-1/+1
Add check in GUI test for file loading failure Since https://github.com/rust-lang/rust/pull/101702, some resources location need to be updated in case their content changed because then their hash will change too. This will prevent errors like https://github.com/rust-lang/rust/pull/104114 to happen again. The second commit is to prevent CORS errors: when a file is linked from a file itself imported, the web browser considers they come from a different domain and therefore triggers the error. The option tells the web browser to ignore this case. cc ```@jsha``` r? ```@notriddle```
2022-11-09Update browser-ui-test version to 0.13.1Guillaume Gomez-1/+1
2022-11-09Rollup merge of #103933 - nicholasbishop:bishop-uefi-tier-2, r=JohnTitorDylan DPC-0/+3
Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2 MCP: https://github.com/rust-lang/compiler-team/issues/555 CC `@dvdhrm`
2022-11-07Auto merge of #103569 - RalfJung:miri-test-macos, r=Mark-Simulacrumbors-7/+4
fix and (re-)enable Miri cross-target checks on macOS and Windows Fixes https://github.com/rust-lang/rust/issues/103519 r? `@Mark-Simulacrum`
2022-11-04Auto merge of #101703 - nicholasbishop:bishop-add-uefi-ci-2, r=jyn514bors-2/+159
Add QEMU test for x86_64-unknown-uefi The UEFI targets don't have std support yet, so the normal tests don't work. However, we can compile a simple no-std program and run it under QEMU to at least check that the target compiles, links, and runs. Tested locally with: `src/ci/docker/run.sh x86_64-uefi`
2022-11-04Promote {aarch64,i686,x86_64}-unknown-uefi to Tier 2Nicholas Bishop-0/+3
MCP: https://github.com/rust-lang/compiler-team/issues/555
2022-11-01Revert "ci: Bring back ninja for dist builders"Jakub Beránek-5/+4
2022-10-31Rollup merge of #103732 - Mark-Simulacrum:revert-compiler-builtins, r=jyn514Dylan DPC-11/+0
Revert "Make the `c` feature for `compiler-builtins` opt-in instead of inferred" This reverts commit 3acb505ee560770c62bad5362f6caf7567d467b9 (PR #101833). The changes in this commit caused several bugs/incompatibilities (https://github.com/rust-lang/rust/pull/101833#issuecomment-1270191721, https://github.com/rust-lang/rust/issues/102560). For now we're reverting this commit and will re-land it alongside fixes for those bugs. Re-opens #101172 cc #102560 cc #102579
2022-10-30Auto merge of #103295 - ishitatsuyuki:ninja, r=cuviperbors-4/+5
ci: Bring back ninja for dist builders The primary reason for this is that make can result in a substantial under utilization of parallelism (noticed while testing on a workstation), mostly due to the submake structure preventing good dependency tracking and scheduling. In f758c7b2a78 (Debian 6 doesn't have ninja, so use make for the dist builds) llvm.ninja was disabled due to lack of distro package. This is no longer the case with the CentOS 7 base, so bring ninja back for a performance boost.
2022-10-30skip bootstrap target sanity checks when testing MiriRalf Jung-7/+4
2022-10-29Drop miri cross-compile check for WindowsMark Rousskov-1/+5
2022-10-29Revert "Make the `c` feature for `compiler-builtins` opt-in instead of inferred"Mark Rousskov-11/+0
This reverts commit 3acb505ee560770c62bad5362f6caf7567d467b9 (PR #101833). The changes in this commit caused several bugs or at least incompatibilies. For now we're reverting this commit and will re-land it alongside fixes for those bugs.
2022-10-28Upgrade dist-x86_64-netbsd to NetBSD 9.0Josh Stone-19/+16
2022-10-27enable ThinLTO for rustc on x86_64-apple-darwin dist buildsRémy Rakic-1/+1
2022-10-26enable ThinLTO for rustc on x86_64-pc-windows-msvc dist buildsRémy Rakic-0/+1
2022-10-25Auto merge of #103392 - RalfJung:miri, r=oli-obkbors-0/+5
update Miri I had to use a hacked version of josh to create this, so let's be careful with merging this and maybe wait a bit to see if the josh issue becomes more clear. But the history looks good to me, we are not adding duplicates of rustc commits that were previously mirrored to Miri. Also I want to add some cross-testing of Miri in x.py.
2022-10-25Miri: disable macOS testing for nowRalf Jung-1/+2
2022-10-24add support for testing Miri on other targets, and do some cross-testing on CIRalf Jung-0/+4
2022-10-23Auto merge of #103062 - cuviper:dist-mips, r=Mark-Simulacrumbors-88/+3345
Upgrade dist-mips*-linux to ubuntu:22.04 + crosstool-ng These have no change in compatibility, still Linux 4.4 and glibc 2.23. The main motivation for upgrading is that LLVM 16 will require at least GCC 7.1. Using crosstool-ng lets us choose our own toolchain versions, and then the Ubuntu version doesn't matter so much, just for the host compilation while we cross-compile.
2022-10-23Add `rust.lto` config optionJakub Beránek-1/+2
2022-10-20ci: Use ninja in build-clang.shTatsuyuki Ishi-2/+3
Now that we have brought ninja back to the installed base packages, we can use it for the initial Clang build as well.
2022-10-20ci: Bring back ninja for dist buildersTatsuyuki Ishi-2/+2
The primary reason for this is that make can result in a substantial under utilization of parallelism, mostly due to the submake structure preventing good dependency tracking and scheduling. In f758c7b2a78 (Debian 6 doesn't have ninja, so use make for the dist builds) llvm.ninja was disabled due to lack of distro package. This is no longer the case with the CentOS 7 base, so bring ninja back for a performance boost.
2022-10-19Update browser-ui-test version to 0.12.7Guillaume Gomez-1/+1
2022-10-17Update browser-ui-test version to 0.12.6Guillaume Gomez-1/+1
2022-10-16Update browser-ui-test version to 0.12.5Guillaume Gomez-1/+1
2022-10-14Rollup merge of #103047 - GuillaumeGomez:update-browser-ui-test, r=notriddleMatthias Krüger-1/+1
Update browser-ui-test version to fix some flaky tests Part of #93784. It should fix the new spurious failure found in https://github.com/rust-lang/rust/pull/102744. r? ``@notriddle``
2022-10-14Upgrade dist-mips*-linux to ubuntu:22.04 + crosstool-ngJosh Stone-88/+3345
These have no change in compatibility, still Linux 4.4 and glibc 2.23.
2022-10-14Update browser-ui-test version to fix some flaky testsGuillaume Gomez-1/+1
2022-10-14checktools: fix commentsRalf Jung-1/+3
2022-10-14Rollup merge of #103011 - GuillaumeGomez:improve-unsafe-fn-gui-test, r=notriddleMatthias Krüger-1/+1
Improve rustdoc `unsafe-fn` GUI test r? ``@notriddle``
2022-10-13Update browser-ui-test version to 0.12.3Guillaume Gomez-1/+1
2022-10-12should-skip-this: add missing backslashRalf Jung-1/+1
2022-10-10Rollup merge of #102888 - GuillaumeGomez:improve-search-color-check, r=notriddleMatthias Krüger-1/+1
Improve rustdoc-gui search-color test Thanks to the add of "functions" in `browser-ui-test`, we can start to reduce the size of the scripts. It'll be very useful for all color checks. r? `@notriddle`
2022-10-10Update browser-ui-test version to 0.12.2Guillaume Gomez-1/+1
2022-10-10Auto merge of #94381 - Kobzol:llvm-bolt, r=Mark-Simulacrumbors-7/+36
Use BOLT in CI to optimize LLVM This PR adds an optimization step in the Linux `dist` CI pipeline that uses [BOLT](https://github.com/llvm/llvm-project/tree/main/bolt) to optimize the `libLLVM.so` library built by boostrap. Steps: - [x] Use LLVM 15 as a bootstrap compiler and use it to build BOLT - [x] Compile LLVM with support for relocations (`-DCMAKE_SHARED_LINKER_FLAGS="-Wl,-q"`) - [x] Gather profile data using instrumented LLVM - [x] Apply profile to LLVM that has already been PGOfied - [x] Run with BOLT profiling on more benchmarks - [x] Decide on the order of optimization (PGO -> BOLT?) - [x] Decide how we should get `bolt` (currently we use the host `bolt`) - [x] Clean up The latest perf results can be found [here](https://github.com/rust-lang/rust/pull/94381#issuecomment-1258269440). The current CI build time with BOLT applied is around 1h 55 minutes.
2022-10-09Auto merge of #102332 - chriswailes:ndk-update, r=chriswailesbors-36/+11
Update CI to use Android NDK r25b This commit updates the CI definitions to use the most recent Android LTS NDK release: r25b. Changes since the last NDK used by Rust negate the need to generate "standalone toolchains" and newer NDKs can be used in-place. See https://developer.android.com/ndk/guides/other_build_systems#overview
2022-10-09Use BOLT in x64 dist CI to optimize LLVMJakub Beránek-7/+36
2022-10-08Rollup merge of #102789 - GuillaumeGomez:update-browser-ui-test-version, ↵Matthias Krüger-1/+1
r=notriddle Update browser UI test version It added the possibility to concatenate strings and numbers and updated the `goto` command so it doesn't stand on its own anymore. r? ````@notriddle````
2022-10-07Update browser-ui-test versionGuillaume Gomez-1/+1
2022-10-07run Miri CI when std::sys changesRalf Jung-1/+4
2022-10-06Disable compressed debug sections on i586-gnuJosh Stone-1/+5
Compressed debug is enabled by default for gas (assembly) on Linux/x86 targets, and we started building our own in #102530, but that made our `compiler_builtins` incompatible with binutils < 2.32. Add an explicit option to disable that in our crosstool-ng config. Fixes #102703.
2022-10-06Auto merge of #102573 - RalfJung:mirisync, r=oli-obkbors-2/+3
Miri sync This is a Miri sync created with my experimental fork of josh. We should probably not merge this yet, but we can use this to check if the sync looks the way it should. r? `@oli-obk`
2022-10-04Update CI to use Android NDK r25bChris Wailes-36/+11
This commit updates the CI definitions to use the most recent Android LTS NDK release: r25b. Changes since the last NDK used by Rust negate the need to generate "standalone toolchains" and newer NDKs can be used in-place. See https://developer.android.com/ndk/guides/other_build_systems#overview
2022-10-04test Miri changes in PR CI; we no longer need xargoRalf Jung-2/+3
2022-09-30Upgrade dist-i586-gnu-i586-i686-musl to ubuntu:22.04Josh Stone-6/+797
The system GCC 5 in ubuntu:16.04 will be too old to compile LLVM 16, so we need an upgrade. To avoid raising the minimum glibc requirements for `i586-unknown-linux-gnu`, this target is converted to a crosstool-ng toolchain, *relaxing* it to the same Linux 3.2 / glibc 2.17 minimum we use elsewhere. The musl targets still use Ubuntu's system toolchain, but this doesn't have the same compatibility concerns.
2022-09-29Auto merge of #101833 - jyn514:cross-compile-compiler-builtins, ↵bors-0/+11
r=Mark-Simulacrum Make the `c` feature for `compiler-builtins` an explicit opt-in Its build script doesn't support cross-compilation. I tried fixing it, but the cc crate itself doesn't appear to support cross-compiling to windows either unless you use the -gnu toolchain: ``` error occurred: Failed to find tool. Is `lib.exe` installed? ``` Fixes https://github.com/rust-lang/rust/issues/101172.
2022-09-28Make the `c` feature for `compiler-builtins` opt-in instead of inferredJoshua Nelson-0/+11
The build script for `compiler_builtins` doesn't support cross-compilation. I tried fixing it, but the cc crate itself doesn't appear to support cross-compiling to windows either unless you use the -gnu toolchain: ``` error occurred: Failed to find tool. Is `lib.exe` installed? ``` Rather than trying to fix it or special-case the platforms without bugs, make it opt-in instead of automatic.
2022-09-24Auto merge of #98483 - dvtkrlbs:bootstrap-dist, r=jyn514bors-11/+11
Distribute bootstrap in CI This pre-compiles bootstrap from source and adds it to the existing `rust-dev` component. There are two main goals here: 1. Make it faster to build rust from source, both the first time and incrementally 2. Make it easier to add non-python entrypoints, since they can call out to bootstrap directly rather than having to figure out the right flags to pre-compile it. This second part is still in a bit of flux, see the tracking issue below for more information. There are also several changes to make bootstrap able to run on a machine other than the one it was built (particularly around `config.src` and `config.out` detection). I (`@jyn514)` am slightly concerned these will regress unless tested - maybe we should add an automated test that runs bootstrap in a chroot or something? Unclear whether the effort is worth the test coverage. Helps with https://github.com/rust-lang/rust/issues/94829.