about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
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
2019-07-28Rollup merge of #63050 - pietroalbini:vendor-awscli, r=Mark-SimulacrumMazdak Farrokhzad-13/+35
ci: download awscli from our mirror This fixes multiple network issues we had when downloading awscli from PyPI on Azure Pipelines by vendoring awscli itself and its dependencies in our S3 bucket. Instructions on how to update the cache are present at the top of `src/ci/install-awscli.sh`. r? @alexcrichton or @Mark-Simulacrum fixes #62967
2019-07-28Rollup merge of #62949 - mati865:patch-1, r=alexcrichtonMazdak Farrokhzad-4/+0
Re-enable assertions in PPC dist builder Fixes https://github.com/rust-lang/rust/issues/36150 Log of successful build: https://dev.azure.com/mati865/6518b167-4cf6-4587-b3d1-8e137f2fb2e4/_apis/build/builds/23/logs/825
2019-07-27ci: download awscli from our mirrorPietro Albini-13/+35
This fixes multiple network issues we had when downloading awscli from PyPI on Azure Pipelines by vendoring awscli itself and its dependencies in our S3 bucket. Instructions on how to update the cache are present at the top of src/ci/install-awscli.sh
2019-07-27Remove run-pass test suitesVadim Petrochenkov-2/+1
2019-07-26Rollup merge of #62970 - pietroalbini:fix-tools-builder, r=alexcrichtonMazdak Farrokhzad-1/+1
ci: gate toolstate repo pushes on the TOOLSTATE_PUBLISH envvar This PR fixes toolstate failing to push on the LinuxTools PR builder by gating the pushes on the new `TOOLSTATE_PUBLISH` environment variable, which is set on prod credentials but not on the PR ones. The old code checked whether the access token was set, but that doesn't work due to an Azure quirk. For a bit of background, secret environment variables are not available by default, but each step needs to explicitly declare which secret vars to load: ```yaml - bash: echo foo env: SECRET_VAR: $(SECRET_VAR) ``` This works fine when the variable is present but when it's missing, instead of setting `SECRET_VAR` to an empty string or just not setting it at all, Azure Pipelines puts the literal `$(SECRET_VAR)` as the content, which completly breaks the old check we had. I tried almost every thing to make this work in a sensible way, and the only conclusion I reached is to set the variable at the top level with the runtime expression evaluation syntax, which sets the variable to an empty string if missing: ```yaml # At the top: variables: - name: MAYBE_SECRET_VAR value: $[ variables.MAYBE_SECRET_VAR ] # In the step: - bash: echo foo env: SECRET_VAR: $(MAYBE_SECRET_VAR) ``` While that *could've worked* it was ugly and messy, so I just opted to add yet another non-secret variable. r? @alexcrichton fixes #62811
2019-07-25ci: gate toolstate repo pushes on the TOOLSTATE_PUBLISH envvarPietro Albini-1/+1
Unfortunately due to an Azure quirk the TOOLSTATE_REPO_ACCESS_TOKEN is not suitable to gate whether to push new commits to the repo, as if it's not defined on the Azure side it will actually be set to the literal `$(TOOLSTATE_REPO_ACCESS_TOKEN)`, which screws everything up. This instead adds another, non-secret environment variable to gate publishing: TOOLSTATE_PUBLISH. As non-secret environment variables behave correctly this fixes the issue.
2019-07-25Rollup merge of #62906 - cuviper:debuginfo-level, r=Mark-SimulacrumMazdak Farrokhzad-1/+1
Require a value for configure --debuginfo-level In `configure.py`, using the `o` function creates an enable/disable boolean setting, and writes `true` or `false` in `config.toml`. However, rustbuild is expecting to parse a `u32` debuginfo level. We can change to the `v` function to have the options require a value.
2019-07-25Rollup merge of #62784 - Disasm:riscv32i, r=estebankMazdak Farrokhzad-0/+1
Add riscv32i-unknown-none-elf target This target is likely to be useful for constrained FPGA soft-cores, such as picorv32 and HeavyX.
2019-07-24Re-enable assertions in PPC dist builderMateusz Mikuła-4/+0
2019-07-23add back check for update prsMark Mansi-0/+1
2019-07-23more commentsRalf Jung-0/+1
2019-07-23more callback docsRalf Jung-4/+7
2019-07-23more comments for toolstate scriptsRalf Jung-3/+14