about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2019-10-21Remove `src/llvm-emscripten` submoduleAlex Crichton-2/+1
With #65251 landed there's no need to build two LLVM backends and ship them with rustc, every target we have now uses the same LLVM backend! This removes the `src/llvm-emscripten` submodule and additionally removes all support from rustbuild for building the emscripten LLVM backend. Multiple codegen backend support is left in place for now, and this is intended to be an easy 10-15 minute win on CI times by avoiding having to build LLVM twice.
2019-10-20Auto merge of #65302 - msizanoen1:fix-armv7-segfault, r=alexcrichtonbors-366/+511
Upgrade GCC to 8.3.0, glibc to 1.17.0 and crosstool-ng to 1.24.0 for dist-armv7-linux #62896 was caused by the usage of the GCC 5.2.0 toolchain, which was released back in 2015 and may have bugs affecting LLVM 9. This PR upgrade GCC to 8.3.0 from 5.2.0, glibc from 1.16.0 to 1.17.0 and crosstool-ng to 1.24.0 only for dist-armv7-linux. Fixes #62896 r? @alexcrichton
2019-10-16Remove PR runs, enable wasm32 CI, and move asmjs to disabledThomas Lively-6/+2
2019-10-16User should not change between emcc install and useThomas Lively-12/+6
2019-10-16Update test and add -O1 to wasm32 DockerfileThomas Lively-2/+3
2019-10-16Temporarily enable asmjs and wasm32 on PR CIThomas Lively-0/+4
2019-10-16Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-116/+31
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
2019-10-16Mirror crosstool-ng on rust-lang-ci-mirrorsmsizanoen-1/+2
2019-10-13Fix path to crosstool-ng.shqtmlabs-1/+1
2019-10-12Add crosstool-ng 1.24.0 unzip dependencyqtmlabs-0/+1
2019-10-11Revert "Remove reference to Ubuntu 15.10 ARM toolchain"qtmlabs-3/+5
This reverts commit 4f97e5d41160e256c9d76d26432831ece83ef480.
2019-10-11Remove reference to Ubuntu 15.10 ARM toolchainqtmlabs-5/+3
2019-10-11Upgrade GCC to 8.3.0, glibc to 1.17.0 and crosstool-ng to 1.24.0 for ↵qtmlabs-366/+509
dist-armv7-linux
2019-10-05Revert "Auto merge of #63649 - tlively:emscripten-upstream-upgrade, ↵Tyler Mandry-26/+117
r=alexcrichton" This reverts commit 7870050796e5904a0fc85ecbe6fa6dde1cfe0c91, reversing changes made to 2e7244807a7878f6eca3eb7d97ae9b413aa49014.
2019-10-04Remove asmjs and wasm32 from PR CIThomas Lively-4/+0
2019-10-04Revert "Temporarily enable wasm32 CI"Thomas Lively-0/+0
2019-10-04Temporarily enable wasm32 CIThomas Lively-0/+0
2019-10-04Fix ABI, run and fix more tests, re-enable CI for PRsThomas Lively-4/+13
2019-10-04Upgrade Emscripten targets to use upstream LLVM backendThomas Lively-117/+21
- Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the incorrect wasm32 C call ABI with the old asmjs version, which is correct for both wasm32 and JS. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Temporarily makes Emscripten targets use panic=abort by default because supporting unwinding will require an LLVM patch.
2019-10-01Rollup merge of #64722 - Mark-Simulacrum:alt-parallel, r=alexcrichtonTyler Mandry-0/+3
Make all alt builders produce parallel-enabled compilers We're not quite ready to ship parallel compilers by default, but the alt builders are not used too much (in theory), so we believe that shipping a possibly-broken compiler there is not too problematic. r? @nikomatsakis
2019-09-29Use https for curl when building for linuxTyler Mandry-2/+4
2019-09-23Make all alt builders produce parallel-enabled compilersMark Rousskov-0/+3
We're not quite ready to ship parallel compilers by default, but the alt builders are not used too much (in theory), so we believe that shipping a possibly-broken compiler there is not too problematic.
2019-09-23Remove `--enable-extended` from cross dist builderAlex Crichton-1/+0
Shouldn't have an effect on produced artifacts and otherwise is causing issues where `-Zsave-analysis` is passed during tests but fails compilation.
2019-09-20Auto merge of #64553 - alexcrichton:windows-bash-install-scripts, ↵bors-38/+39
r=Mark-Simulacrum azure: Convert Windows installations scripts to `bash` Looks like `script`, which uses `cmd.exe`, doesn't have fail-fast behavior and if a leading command fails the script doesn't actually fail so long as the last command succeeds. We instead want the opposite behavior where if any step fails the whole script fails. I don't really know `cmd.exe` that well, nor powershell, so I've opted to move everything to `bash` which should be a good common denominator amongst all platforms to work with. Additionally I know that `set -e` works to cause scripts to fail fast. Closes #64551
2019-09-19azure: Convert Windows installations scripts to `bash`Alex Crichton-38/+39
Looks like `script`, which uses `cmd.exe`, doesn't have fail-fast behavior and if a leading command fails the script doesn't actually fail so long as the last command succeeds. We instead want the opposite behavior where if any step fails the whole script fails. I don't really know `cmd.exe` that well, nor powershell, so I've opted to move everything to `bash` which should be a good common denominator amongst all platforms to work with. Additionally I know that `set -e` works to cause scripts to fail fast. Note that some scripts remain as `script` since they don't appear to work in` bash`. I'm not really sure why but I reorganized them slightly to have the "meaty command" run at the end.
2019-09-19ci: split aws credentials in two separate users with scoped permsPietro Albini-7/+10
This commit changes our CI to use two separate IAM users to authenticate with AWS: * ci--rust-lang--rust--sccache: has access to the rust-lang-ci-sccache2 S3 bucket and its credentials are available during the whole build. * ci--rust-lang--rust--upload: has access to the rust-lang-ci2 S3 bucket and its credentials are available just during the upload step. The new tokens are available in the `prod-credentials` library.
2019-09-17Auto merge of #64517 - alexcrichton:less-assertions, r=pietroalbinibors-0/+15
azure: Disable more LLVM/debug assertions in This commit disables LLVM/debug assertions in our 5 slowest builders: * i686-gnu * i686-gnu-nopt * i686-msvc-1 * i686-msvc-2 * x86_64-msvc-cargo This is reducing the amount of test coverage for LLVM/debug assertions, but we're just unfortunately running out of time on CI too many times. Some test builds have shown that i686-gnu drops nearly an hour of CI time by disabling these two assertions. Perhaps when we eventually get 4-core machines we can reenable these, but for now turn them off and hook them up to the tracking issue at #59637 which will ideally be repurposes to tracking all of these.
2019-09-16azure: Disable more LLVM/debug assertions inAlex Crichton-0/+15
This commit disables LLVM/debug assertions in our 5 slowest builders: * i686-gnu * i686-gnu-nopt * i686-msvc-1 * i686-msvc-2 * x86_64-msvc-cargo This is reducing the amount of test coverage for LLVM/debug assertions, but we're just unfortunately running out of time on CI too many times. Some test builds have shown that i686-gnu drops nearly an hour of CI time by disabling these two assertions. Perhaps when we eventually get 4-core machines we can reenable these, but for now turn them off and hook them up to the tracking issue at #59637 which will ideally be repurposes to tracking all of these.
2019-09-16ci: ensure all tool maintainers are assignable on issuesPietro Albini-0/+7
GitHub only allows people explicitly listed as collaborators on the repository or who commented on the issue/PR to be assignees, failing to create the issue if non-assignable people are assigned. This adds an extra check on CI to make sure all the people listed as tool maintainers can be assigned to toolstate issues. The check won't be executed on PR builds due to the lack of a valid token.
2019-08-23Auto merge of #63521 - newpavlov:redox_builder, r=pietroalbinibors-4/+2
Re-enable Redox builder (take 2) Closes: #63160
2019-08-21ci: move libc mirrors to the rust-lang-ci-mirrors bucketPietro Albini-1/+1
2019-08-17Merge branch 'master' into redox_builderArtyom Pavlov-78/+47
2019-08-16Rollup merge of #63636 - pietroalbini:ci-mingw, r=alexcrichtonMazdak Farrokhzad-4/+4
ci: move linkcheck from mingw-2 to mingw-1 Running UI tests now takes a huge amount of time on mingw builders (between 40 and 50 minutes), with mingw-1 builders taking even an hour less to finish than mingw-2. This PR moves linkcheck from mingw-2 to mingw-1, removing between 10 and 20 minutes of runtime on the -2 builders. r? @alexcrichton
2019-08-16ci: move linkcheck from mingw-2 to mingw-1Pietro Albini-4/+4
Running UI tests now takes a huge amount of time on mingw builders (between 40 and 50 minutes), with mingw-1 builders taking even an hour less to finish than mingw-2. This PR moves linkcheck from mingw-2 to mingw-1, removing between 10 and 20 minutes of runtime on the -2 builders.
2019-08-16ci: properly set the job name in CPU statsPietro Albini-1/+1
2019-08-15Use libunwind from llvm-project submodule for musl targetsMarco A L Barbosa-50/+2
2019-08-14Rollup merge of #63511 - pietroalbini:pa-ci-date, r=Mark-SimulacrumMazdak Farrokhzad-0/+15
ci: add a check for clock drift Recently we encountered multiple spurious failures where the crates.io certificate was reported as expired, even though it's currently due to expire in a few months. This adds some code to our CI to check for clock drifts, to possibly find the cause or rule out a bad VM clock. cc https://github.com/rust-lang/rust/issues/63510 r? @Mark-Simulacrum
2019-08-13Re-enable Redox builder (take 2)newpavlov-4/+2
2019-08-13ci: add a check for clock driftPietro Albini-0/+15
Recently we encountered multiple spurious failures where the crates.io certificate was reported as expired, even though it's currently due to expire in a few months. This adds some code to our CI to check for clock drifts, to possibly find the cause or rule out a bad VM clock.
2019-08-12ci: move mirrors to their standalone bucketPietro Albini-23/+25
Currently mirrors are stored in the rust-lang-ci2 S3 bucket along with CI toolchains. This is problematic for multiple reasons: - CI IAM credentials are allowed to both edit and delete those files. A malicious user gaining access to those credentials would be able to change our mirrored dependencies, possibly backdooring the compiler. - Contents of the rust-lang-ci2 bucket are disposable except for the mirrors' content. When we implement backups for S3 buckets we'd have to replicate just that part of the bucket, complicating the backup logic and increasing the chance of mistakes. A standalone bucket will be way easier to backup. This commit switches our CI to use the new rust-lang-ci-mirrors bucket.
2019-08-09Check links on all platforms when running locallyMateusz Mikuła-0/+3
2019-08-08remove test-miri flag from bootstrapRalf Jung-2/+1
2019-08-03ci: move .azure-pipelines to src/ci/azure-pipelinesPietro Albini-1/+883
2019-08-03Rollup merge of #63107 - adrian-budau:master, r=alexcrichtonMazdak Farrokhzad-6/+30
Added support for armv7-unknown-linux-gnueabi/musleabi Fixes #63101 Some things that are not done and I hope someone can help me with: * During the ci build of `armv7-unknown-linux-gnueabi` `openssl` must be built (to build cargo) but `openssl` does not yet support this target. This feels slightly like a chicken-and-egg problem, any feedback is welcome. * Should I add any tests for any of these targets?
2019-08-02Added support for armv7-unknown-linux-gnueabi and armv7-unknown-linux-musleabi.Adrian Budau-6/+30
Support for the targets in the compiler and std build in the CI.
2019-08-02Auto merge of #61393 - gnzlbg:update_libc, r=gnzlbgbors-1/+3
Update Cargo.lock
2019-08-01Temporarily disable the redox buildergnzlbg-1/+3
2019-08-01Rollup merge of #63191 - pietroalbini:really-fix-toolstate, r=alexcrichtonPietro Albini-0/+1
ci: fix toolstate not pushing data for Linux A recent commit modified toolstate to only push updated data when the `TOOLSTATE_PUBLISH` environment variable is present. This worked fine on Windows but failed on Linux, since Linux jobs run inside Docker containers and the variable wasn't forwarded inside it. This changes the Docker startup code to set the `TOOLSTATE_PUBLISH` enviornment variable inside the container if it's present outside. r? @alexcrichton fixes https://github.com/rust-lang/rust/issues/63190
2019-08-01ci: forward the TOOLSTATE_PUBLISH environment variable inside dockerPietro Albini-0/+1
A recent commit modified toolstate to only push updated data when the TOOLSTATE_PUBLISH environment variable is present. This worked fine on Windows but failed on Linux, since Linux jobs run inside Docker containers and the variable wasn't forwarded inside it. This changes the Docker startup code to set the TOOLSTATE_PUBLISH enviornment variable inside the container if it's present outside.
2019-07-28Rollup merge of #62759 - mark-i-m:rustc-guide-toolstate-check, r=kennytmMazdak Farrokhzad-5/+33
Actually add rustc-guide to toolstate, don't fail builds for the guide cc @ehuss r? @kennytm