about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2020-10-28ci: update x86_64-gnu and x86_64-gnu-debug to ubuntu:20.04Josh Stone-2/+4
The former `ubuntu:19.10` reached EOL in July, 2020, whereas `ubuntu:20.04` is an LTS release supported until 2025. These are non-dist CI images, so the impact should be low.
2020-10-24Rollup merge of #78309Mara Bos-1/+1
2020-10-24Use own mirror for linux headers in musl-toolchain CI script.Mara Bos-2/+8
2020-10-23Fix Ubuntu download URLJonas Schievink-1/+1
2020-10-14Update Xcode beta version to allow aarch64-apple-darwin to compile againJake Goulding-1/+1
2020-10-14Rollup merge of #77239 - shepmaster:silicon-ci-plus, r=pietroalbiniYuki Okushi-7/+10
Enable building Cargo for aarch64-apple-darwin r? @ghost
2020-10-13Auto merge of #77762 - pietroalbini:dist-build-manifest, r=Mark-Simulacrumbors-1/+3
Dist build manifest This PR makes two changes that should remove a significant chunk of the time spent in our release process: cloning the `rust-lang/rust` monorepo, all its submodules, and building `bootstrap` to then invoke `build-manifest`: * `build-manifest` doesn't rely on a clone of the monorepo being present anymore. The only remaining bit of information it fetched from it (the Rust version) is instead bundled in the binary. * A new "component" is added, `build-manifest`. That component includes a prebuilt version of the tool, and it's *not* included in the Rustup manifest. This will allow `promote-release` to directly invoke the tool without interacting with our build system. * The Linux x86_64 CI is changed to also build the component mentioned above. It's the only CI builder tasked to do so, and to cleanly support this a new `--include-default-paths` flag was added to `./x.py`. * The `BUILD_MANIFEST_NUM_THREADS` environment variable is added to configure the number of threads at runtime. This PR is best reviewed commit-by-commit. r? `@Mark-Simulacrum`
2020-10-13Auto merge of #77759 - tblah:fix_riscv_qemu, r=pietroalbinibors-3/+3
ci: Fix riscv64gc linux test QEMU fault, plus doc link fix Newer versions of the `qemu` package (used for riscv64gc-unknown-linux-gnu testing) don't work with the version of the RISC-V bootloader we were using. https://github.com/rust-lang/rust/commit/a4a0342cf59a1bff43ed79586065eb97dba0cddb bumps to a revision which should fix the problem. https://github.com/rust-lang/rust/commit/e0b033e965a7d422da70a409a028af7c8b64e709 fixes a documentation failure I encountered while running the tests.
2020-10-12Configure jemalloc for cross-compilation to aarch64-apple-darwinJake Goulding-0/+8
2020-10-12Enable building Cargo for aarch64-apple-darwinJake Goulding-7/+2
2020-10-12ci: also build the build-manifest component on dist-x86_64-linuxPietro Albini-1/+3
2020-10-12Auto merge of #75914 - arlosi:aarch64-ci, r=pietroalbinibors-1/+20
Promote aarch64-pc-windows-msvc to Tier 2 Development Platform Adds a GitHub Actions CI build for `aarch64-pc-windows-msvc` via cross-compilation on an x86_64 host. This promotes `aarch64-pc-windows-msvc` from a Tier 2 Compilation Target (std) to a Tier 2 Development Platform (std+rustc+cargo+tools). Fixes #72881 r? `@pietroalbini`
2020-10-11Auto merge of #75991 - shepmaster:silicon-ci, r=pietroalbinibors-3/+56
Set up CI for aarch64-apple-darwin
2020-10-09ci: disabled: riscv: work around QEMU regressionTom Eccles-3/+3
This bumps the version of the bbl bootloader not to perform 64-bit accesses to the PLIC. Doing so resulted in the QEMU test machine to fail to boot: bbl loader ../machine/mtrap.c:21: machine mode: unhandlable trap 7 @ 0x0000000080001f6e Power off Signed-off-by: Tom Eccles <tom.eccles@codethink.co.uk>
2020-10-03Check all Cargo targets on CIMark Rousskov-1/+1
2020-10-02Rollup merge of #77453 - pietroalbini:ci-no-more-azure, r=Mark-SimulacrumJonas Schievink-181/+3
Stop running macOS builds on Azure Pipelines The Infrastructure Team agreed to migrate macOS builds to GitHub Actions, so this commit stops running those builders on Azure Pipelines. The GitHub Actions runners are already configured to upload to the production bucket. We can't still fully remove the Azure Pipelines configuration, as we still need to have that available until no stable releases run any of their builds on Azure Pipelines anymore. I'll open an issue to track fully removing our Azure Pipelines setup once the PR is merged. r? @Mark-Simulacrum
2020-10-02ci: stop running macOS builds on Azure PipelinesPietro Albini-181/+3
2020-10-01ci: switch to environment files to change the environment on GHAPietro Albini-2/+2
See GitHub's blog post on why the change was necessary: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-10-01Add a cross-compiling aarch64-apple-darwin CI builderJake Goulding-3/+56
2020-09-30Rollup merge of #77280 - petrochenkov:llvmcomp, r=Mark-SimulacrumJonas Schievink-0/+2
Ensure that all LLVM components requested by tests are available on CI Addresses https://github.com/rust-lang/rust/pull/75064#issuecomment-667722652 I used an environment variable because passing a command line option all the way from CI to compiletest would be just too much hassle for this task. I added a new variable, but any of the already existing ones defined by CI could be used instead. r? @Mark-Simulacrum
2020-09-30Auto merge of #77294 - shepmaster:try-anchors, r=pietroalbinibors-13/+13
Use YAML anchors for try builds r? `@pietroalbini`
2020-09-29Use --host='' instead of --host ''Tyler Mandry-14/+14
Trying to fix a problem in CI. Maybe some version of Docker is not passing '' args correctly?
2020-09-29Ensure that all LLVM components requested by tests are available on CIVadim Petrochenkov-0/+2
2020-09-28Update CI scripts to accommodate --host changeTyler Mandry-15/+15
2020-09-28Use an anchor for the try buildJake Goulding-3/+3
2020-09-28Move the try builder below the auto buildersJake Goulding-12/+12
This allows us to make use of a YAML anchor when specifying the try builder config.
2020-09-25Adds a GitHub Actions CI build for aarch64-pc-windows-msvc via ↵Arlo Siemsen-1/+20
cross-compilation on an x86_64 host. This promotes aarch64-pc-windows-msvc from a Tier 2 Compilation Target (std) to a Tier 2 Development Platform (std+rustc+cargo+tools). Fixes #72881
2020-09-19Do not link LLVM tools to LLVM dylib unless rustc isMark Rousskov-7/+0
Previously we would have some platforms where LLVM was linked to rustc statically, but to the LLVM tools dynamically. That meant we were distributing two copies of LLVM: one as a separate dylib and one statically linked in to librustc_driver.
2020-09-18Make sure we build target-only things (e.g., docs) for host platforms tooMark Rousskov-3/+3
2020-09-18Remove duplicate macOS buildersMark Rousskov-36/+0
2020-09-16Auto merge of #76420 - Gelbpunkt:aarch64-linux-musl, r=pietroalbinibors-23/+13
Add aarch64-unknown-linux-musl host builds This adds aarch64-unknown-linux-musl to the hosts list and adds the build to the dist-arm-linux builder as `@Mark-Simulacrum` suggested to me in Zulip. `@jyn514` requested to be mentioned :smile: I had to update the config for crosstool-ng as it had a prompt about the glibc version. I ran `src/ci/docker/run.sh dist-arm-linux` to test it. ``` Build completed successfully in 1:31:50 Compile requests 8180 Compile requests executed 8135 Cache hits 287 Cache misses 7848 Cache timeouts 0 Cache read errors 0 Forced recaches 0 Cache write errors 0 Compilation failures 0 Cache errors 0 Non-cacheable compilations 0 Non-cacheable calls 36 Non-compilation calls 9 Unsupported compiler calls 0 Average cache write 0.000 s Average cache read miss 6.389 s Average cache read hit 0.000 s Cache location Local disk: "/sccache" Cache size 202 MiB Max cache size 10 GiB == clock drift check == local time: Sun Sep 6 19:30:17 UTC 2020 network time: Sun, 06 Sep 2020 19:30:17 GMT == end clock drift check == ``` Only errors were in miri due to struct fields being private (already been reported [here](https://github.com/rust-lang/rust/issues/76337)) Edit: Maybe it is helpful if I add that it is a working compiler ```sh /rust-nightly-aarch64-unknown-linux-musl # ash install.sh install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh install: installing component 'rustc' install: installing component 'cargo' install: installing component 'rls-preview' install: installing component 'rust-analyzer-preview' install: installing component 'clippy-preview' install: installing component 'rustfmt-preview' install: installing component 'llvm-tools-preview' install: installing component 'rust-analysis-aarch64-unknown-linux-musl' install: installing component 'rust-std-aarch64-unknown-linux-musl' install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error Rust is ready to roll. / # cat test.rs fn main() { println!("hello world"); } / # rustc test.rs / # ./test hello world # file test test: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, not stripped ```
2020-09-16Rollup merge of #76681 - tshepang:unused, r=Mark-SimulacrumDylan DPC-52/+0
remove orphaned files Should been part of https://github.com/rust-lang/rust/pull/74163
2020-09-15ci: gate macOS on GHA tooPietro Albini-51/+73
2020-09-15Enable shared linking to LLVM on non-WindowsMark Rousskov-0/+7
Windows doesn't quite support dynamic linking to LLVM yet, but on other platforms we do. In #76708, it was discovered that we dynamically link to LLVM from the LLVM tools (e.g., rust-lld), so we need the shared LLVM library to link against. That means that if we do not have a shared link to LLVM, and want LLVM tools to work, we'd be shipping two copies of LLVM on all of these platforms: one in librustc_driver and one in libLLVM. Also introduce an error into rustbuild if we do end up configured for shared linking on Windows.
2020-09-14Update based on @alex's PRJens Reidel-6/+0
2020-09-13remove orphaned filesTshepang Lekhonkhobe-52/+0
Should been part of https://github.com/rust-lang/rust/pull/74163
2020-09-12Add host= configuration for msvc/darwinMark Rousskov-3/+5
2020-09-10ci: avoid moving the build directory on GHAPietro Albini-18/+0
While waiting for a PR job to start testing my code, I noticed the symlink-build-dir step took 10 minutes to complete, so I investigated what caused that. It seems like something changed in the build environment between version 20200901.1 (where the step took 45 seconds) and version 20200908.1 (where the step took 10 minutes). At the time of writing this commit, the rust-lang organization is on vertsion 20200908.1, while the rust-lang-ci organization is at version 20200901.1 (and is not affected by this yet). There is no need for this step anymore on GHA, as our XL builders got an increase in the root paritition size, so this commit removes the code that moved stuff around on GHA (while keeping it on Azure). For the record, at the time of writing this, the disk situation is: Filesystem Size Used Avail Use% Mounted on /dev/sda1 667G 60G 607G 9% / /dev/sdb1 110G 4.1G 101G 4% /mnt
2020-09-06initial attempt to add aarch64-unknown-linux-musl to dist-linux-armJens Reidel-17/+13
2020-09-04Enable profiler tests on Windows-gnuMateusz Mikuła-2/+2
2020-08-29Auto merge of #74922 - joshtriplett:ninja-by-default, r=Mark-Simulacrumbors-6/+40
Set ninja=true by default Ninja substantially improves LLVM build time. On a 96-way system, using Make took 248s, and using Ninja took 161s, a 35% improvement. We already require a variety of tools to build Rust. If someone wants to build without Ninja (for instance, to minimize the set of packages required to bootstrap a new target), they can easily set `ninja=false` in `config.toml`. Our defaults should help people build Rust (and LLVM) faster, to speed up development.
2020-08-28Auto merge of #76035 - tiagolam:master, r=pietroalbinibors-0/+1
Build dist-x86_64-musl with --enable-profiler. Trying to build a Rust project with `-Zprofile` for target x86_64-unknown-linux-musl using rustc 1.46.0-nightly (346aec9b0 2020-07-11), installed with rustup, results in the following error. ``` export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"export CARGO_INCREMENTAL=0$ cargo build --target=x86_64-unknown-linux-muslCompiling hello_world v0.1.0 (…)error[E0463]: can't find crate for `profiler_builtins` | = note: the compiler may have been built without the profiler runtime error: aborting due to previous error For more information about this error, try `rustc --explain E0463`.error: could not compile `hello_world`. To learn more, run the command again with --verbose. ``` `-Zprofile` is required here to enable grcov profiling. This is similar in nature to issue https://github.com/rust-lang/rust/issues/57257, which has been fixed in asimilar way at https://github.com/rust-lang/rust/pull/60476 . A fix for Android has also landed not long ago: https://github.com/rust-lang/rust/pull/70054 . Signed-off-by: Tiago Lam <tiagol@hadean.com>
2020-08-28Build dist-x86_64-musl with --enable-profiler.Tiago Lam-0/+1
Trying to build a Rust project with `-Zprofile` for target x86_64-unknown-linux-musl using rustc 1.46.0-nightly (346aec9b0 2020-07-11), installed with rustup, results in the following error. ``` export RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"export CARGO_INCREMENTAL=0$ cargo build --target=x86_64-unknown-linux-muslCompiling hello_world v0.1.0 (…)error[E0463]: can't find crate for `profiler_builtins` | = note: the compiler may have been built without the profiler runtime error: aborting due to previous error For more information about this error, try `rustc --explain E0463`.error: could not compile `hello_world`. To learn more, run the command again with --verbose. ``` `-Zprofile` is required here to enable grcov profiling. This is similar in nature to issue https://github.com/rust-lang/rust/issues/57257, which has been fixed in asimilar way at https://github.com/rust-lang/rust/pull/60476 . A fix for Android has also landed not long ago: https://github.com/rust-lang/rust/pull/70054 . Signed-off-by: Tiago Lam <tiagol@hadean.com>
2020-08-28ci: run cancel-outdated-builds after fully setting up the envPietro Albini-9/+9
2020-08-27ci: disable cancel-outdated-builds for auto-falliblePietro Albini-1/+15
2020-08-26Debian 6 doesn't have ninja, so use make for the dist buildsJosh Triplett-2/+2
2020-08-26Install ninja on CI buildersJosh Triplett-0/+34
Windows CI builds already install ninja. Install it in all the Docker-based builds as well.
2020-08-26Disable ninja on macOS CIJosh Triplett-6/+6
Should be re-enabled when we have a recipe for installing ninja on macOS.
2020-08-25ci: fix macOS target name for LLVM 10Pietro Albini-3/+3
2020-08-25ci: bump LLVM source tarball on Linux to 10.0.0Pietro Albini-1/+1