about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
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
2019-07-23Require a value for configure --debuginfo-levelJosh Stone-1/+1
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-21ci: pin awscli dependenciesPietro Albini-0/+13
docutils 0.15, a dependency of awscli, broke our CI since it's not compatible with Python 2 due to a bug. This pins all the dependencies of awscli with docutils 0.14, to make sure this kind of regressions doesn't happen again.
2019-07-19azure: Prepare configuration for 4-core machinesAlex Crichton-7/+41
This commit updates some of our assorted Azure/CI configuration to prepare for some 4-core machines coming online. We're still in the process of performance testing them to get final numbers, but some changes are worth landing ahead of this. The updates here are: * Use `C:/` instead of `D:/` for submodule checkout since it should have plenty of space and the 4-core machines won't have `D:/` * Update `lzma-sys` to 0.1.14 which has support for VS2019, where 0.1.10 doesn't. * Update `src/ci/docker/run.sh` to work when it itself is running inside of a docker container (see the comment in the file for more info) * Print step timings on the `try` branch in addition to the `auto` branch in. The logs there should be seen by similarly many humans (not many) and can be useful for performance analysis after a `try` build runs. * Install the WIX and InnoSetup tools manually on Windows instead of relying on pre-installed copies on the VM. This gives us more control over what's being used on the Azure cloud right now (we control the version) and in the 4-core machines these won't be pre-installed. Note that on AppVeyor we actually already were installing InnoSetup, we just didn't carry that over on Azure!
2019-07-18Update src/ci/docker/x86_64-gnu-tools/checkregression.pyWho? Me?!-1/+1
Co-Authored-By: kennytm <kennytm@gmail.com>
2019-07-18Add riscv32i-unknown-none-elf targetVadim Kaushan-0/+1
2019-07-18embedded-book failures don't block betaMark Mansi-1/+1
2019-07-18Update src/ci/docker/x86_64-gnu-tools/checkregression.pyWho? Me?!-1/+1
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-07-18Update src/ci/docker/x86_64-gnu-tools/checktools.shWho? Me?!-1/+1
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-07-18add a few comments for the toolstate stuffRalf Jung-4/+12
2019-07-18Regressions ok for miri tooWho? Me?!-1/+1
Co-Authored-By: kennytm <kennytm@gmail.com>
2019-07-17don't fail builds for rustc-guideMark Mansi-2/+5
2019-07-17actually test rustc-guide with toolstateMark Mansi-0/+1
2019-07-16Auto merge of #62592 - nikic:actually-update-llvm, r=alexcrichtonbors-1/+0
Update to LLVM 9 trunk Following the preparatory changes in #62474, this updates the LLVM submodule to https://github.com/rust-lang/llvm-project/tree/rustc/9.0-2019-07-12 and: * Changes the LLVM Rust bindings to account for the new SubtargetSubTypeKV. * Adjusts a codegen test for the new form of the byval attribute that takes a type. * Makes a PGO codegen test more liberal with regard to order and linkage. * Builds InstrProfilingPlatformWindows.c as part of libprofiler_builtins. * Moves registration of additional passes (in particular sanitizers) to the end of the module pass manager. * Disables LLDB on builders. r? @alexcrichton
2019-07-15ci: Remove Travis/AppVeyor configurationAlex Crichton-99/+7
Now that we've fully moved to Azure Pipelines and bors has been updated to only gate on Azure this commit removes the remaining Travis/AppVeyor support contained in this repository. Most of the deletions here are related to producing better output on Travis by folding certain sections. This isn't supported by Azure so there's no need to keep it around, and if Azure ever adds support we can always add it back!
2019-07-15Disable building of LLDBNikita Popov-1/+0
2019-07-06cfg: linkcheck only on x86-64 linuxMark Mansi-8/+0