about summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
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
2019-07-06add missing libssl-dev dependency to docker images on travisAndré Luis Leal Cardoso Junior-0/+18
2019-07-06Move installing of deps to the docker container, instead of installing on ↵André Luis Leal Cardoso Junior-0/+2
the host machine on travis
2019-07-06Track rustc-guide on toolstateAndré Luis Leal Cardoso Junior-0/+1
2019-06-30Auto merge of #61252 - indygreg:upgrade-musl, r=alexcrichtonbors-1/+1
Update musl to 1.1.22 This is the latest available version. I noticed Rust wasn't using the latest version when I attempted to have Cargo link object files produced outside of Cargo / Rust's toolchain and was getting missing symbol errors. Those missing symbols were added in 1.1.21 and 1.1.22. I'm not fully sure of the implications of this change or how comprehensive the test coverage is. Upstream changes in 1.1.21 and 1.1.22 can be found at https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.1.22&id=e97681d6f2c44bf5fa9ecdd30607cb63c780062e#n1989.
2019-06-26ci: Disable assertions in PR buildsAlex Crichton-0/+6
The PR builder on Azure currently takes 2.5h which is a bit long, so this commit disables debug assertions and llvm assertions in an attempt to speed up that builder and have PR builds come back a bit more quickly. Other builders continue to enable debug assertions and test the compiler there.
2019-06-19Rollup merge of #61839 - alexcrichton:pr-and-master-builds, r=pietroalbiniMazdak Farrokhzad-17/+2
ci: Add a script for generating CPU usage graphs This commit checks in a script which generates CPU usage graphs over time, expanding on the previous comment that was include in the collection file. Some example graphs from the [latest build](https://dev.azure.com/rust-lang/rust/_build/results?buildId=717) look like: ![dist-x86_64-apple](https://user-images.githubusercontent.com/64996/59520676-16c5b000-8e90-11e9-9188-27001911f270.png) ![x86_64-msvc-1](https://user-images.githubusercontent.com/64996/59520677-175e4680-8e90-11e9-8568-4b564807324e.png) ![x86_64-mingw-1](https://user-images.githubusercontent.com/64996/59520680-175e4680-8e90-11e9-939d-a73c7224582f.png) ![test-various](https://user-images.githubusercontent.com/64996/59520682-175e4680-8e90-11e9-9980-900ed4eeb8f4.png)
2019-06-18ci: Add a script for generating CPU usage graphsAlex Crichton-17/+2
This commit checks in a script which generates CPU usage graphs over time, expanding on the previous comment that was include in the collection file.
2019-06-15Auto merge of #59752 - Zoxc:dylib-fix, r=alexcrichtonbors-4/+0
Limit dylib symbols This makes `windows-gnu` match the behavior of `windows-msvc`. It probably doesn't make sense to export these symbols on other platforms either.
2019-06-13ci: Enable toolstate tracking on AzureAlex Crichton-1/+2
Currently just run it through its paces but don't actually push to official locations. Instead let's just push to a separate fork (mine) as well as open issues in a separate fork (mine). Make sure that people aren't pinged for these issues as well! This should hopefully ensure that everything is working on Azure and give us a chance to work through any issues that come up.
2019-06-12Ignore NVPTX testsJohn Kåre Alsaker-4/+0
2019-06-12Auto merge of #61587 - alexcrichton:distcheck-no-assertions, r=pietroalbinibors-0/+7
ci: Disable LLVM/debug assertions for distcheck The purpose of distcheck is to test `./x.py test` from a tarball, not to test that all assertions pass all the time. These assertions are largely just redundant with other builders, so skip the assertions for now and save a good chunk of time on CI. cc #61185
2019-06-12Rollup merge of #61632 - alexcrichton:azure-pipelines-cpu, r=pietroalbiniMazdak Farrokhzad-0/+175
ci: Collect CPU usage statistics on Azure This commit adds a script which we'll execute on Azure Pipelines which is intended to run in the background and passively collect CPU usage statistics for our builders. The intention here is that we can use this information over time to diagnose issues with builders, see where we can optimize our build, fix parallelism issues, etc. This might not end up being too useful in the long run but it's data we've wanted to collect for quite some time now, so here's a stab at it! Comments about how this is intended to work can be found in the python script used here to collect CPU usage statistics. Closes #48828
2019-06-11ci: Collect CPU usage statistics on AzureAlex Crichton-0/+175
This commit adds a script which we'll execute on Azure Pipelines which is intended to run in the background and passively collect CPU usage statistics for our builders. The intention here is that we can use this information over time to diagnose issues with builders, see where we can optimize our build, fix parallelism issues, etc. This might not end up being too useful in the long run but it's data we've wanted to collect for quite some time now, so here's a stab at it! Comments about how this is intended to work can be found in the python script used here to collect CPU usage statistics. Closes #48828
2019-06-08Auto merge of #61655 - RalfJung:checktools, r=kennytmbors-3/+10
checktools: unify grepping the TOOLSTATE file The file was grepped twice but in a different way. This unifies the code to make sure it is consistent. Or were these deliberately not doing the same thing? That seems strange though. I wouldn't know how to test these changes.
2019-06-08checktools: unify grepping the TOOLSTATE fileRalf Jung-3/+10
2019-06-06ci: Disable LLVM/debug assertions for distcheckAlex Crichton-0/+7
The purpose of distcheck is to test `./x.py test` from a tarball, not to test that all assertions pass all the time. These assertions are largely just redundant with other builders, so skip the assertions for now and save a good chunk of time on CI. cc #61185
2019-06-06ci: Disable LLVM/debug assertions for asmjs builderAlex Crichton-0/+8
This shaves of 50 minutes of cycle time on Azure and will likely also save a significant chunk of time on Travis. The assertions here aren't really buying us much over other builders with assertions already enabled, so let's disable them for this builder. cc #61185
2019-06-03ci: Reenable step timings on AppVeyorAlex Crichton-0/+2
This was accidentally regressed in #60777 by accident, and we've stopped printing out step timings on AppVeyor recently reducing the ability for us to track build times over time!
2019-05-31Auto merge of #61300 - indygreg:upgrade-cross-make, r=sanxiynbors-2/+2
Update musl-cross-make to 0.9.8 This version uses musl 1.1.22 and GCC 6.4.0 by default. It also contains support for newer binutils and GCC versions, should we want to bump those as well. But I'm purposefully limiting this patch in order to reduce the surface area for controversy.
2019-05-30Auto merge of #61353 - alexcrichton:less-tools, r=pietroalbinibors-5/+3
ci: Favor SCRIPT instead of RUST_CHECK_TARGET Since #61212 we've been timing out on OSX, and this looks to be because we're building tools like Cargo and the RLS twice instead of once. This turns out to be a slight bug in our configuration. CI builders using the `RUST_CHECK_TARGET` directive actually execute `make all` just before their acual target. In `make all` we're building a stage2 cargo, and then in `make dist` we're building a stage1 cargo. Other builders use `SCRIPT` which provides explicit control over what `x.py` script, for example, is used to execute the build. This moves almost all targets to using `SCRIPT` to ensure that we're explicitly specifying what's being built where. Additionally this updates the logic of `RUST_CHECK_TARGET` to remove the pre-flight tidy as well as the pre-flight `make all`. The system LLVM builder (run on PRs) now explicitly runs tidy first and then runs the rest of the test suite.
2019-05-30ci: Favor SCRIPT instead of RUST_CHECK_TARGETAlex Crichton-5/+3
Since #61212 we've been timing out on OSX, and this looks to be because we're building tools like Cargo and the RLS twice instead of once. This turns out to be a slight bug in our configuration. CI builders using the `RUST_CHECK_TARGET` directive actually execute `make all` just before their acual target. In `make all` we're building a stage2 cargo, and then in `make dist` we're building a stage1 cargo. Other builders use `SCRIPT` which provides explicit control over what `x.py` script, for example, is used to execute the build. This moves almost all targets to using `SCRIPT` to ensure that we're explicitly specifying what's being built where. Additionally this updates the logic of `RUST_CHECK_TARGET` to remove the pre-flight tidy as well as the pre-flight `make all`. The system LLVM builder (run on PRs) now explicitly runs tidy first and then runs the rest of the test suite.
2019-05-30Rollup merge of #61322 - pietroalbini:debug-windows-submodule-cloning, ↵Mazdak Farrokhzad-0/+4
r=alexcrichton ci: display more debug information in the init_repo script I'm *really* confused about the error message [while cloning submodules on Windows on Azure](https://dev.azure.com/rust-lang/e71b0ddf-dd27-435a-873c-e30f86eea377/_apis/build/builds/295/logs/506): ``` /usr/bin/tar: You must specify one of the '-Acdtrux', '--delete' or '--test-label' options Try '/usr/bin/tar --help' or '/usr/bin/tar --usage' for more information. ``` It doesn't make sense for it to execute a command without any of those flags since they're clearly added: https://github.com/rust-lang/rust/blob/81970852e172c04322cbf8ba23effabeb491c83c/src/ci/init_repo.sh#L45 So this adds `set -x` to the script to hopefully catch what command it's executing. r? @alexcrichton cc https://github.com/rust-lang/rust/issues/61301
2019-05-30Rollup merge of #61284 - alexcrichton:less-s3, r=pietroalbiniMazdak Farrokhzad-9/+9
Update all s3 URLs used on CI with subdomains Ensure that they're all forwards-compatible with AWS updates happening next year by ensuring the bucket name shows up in the domain name. Closes #61168
2019-05-29ci: display more debug information in the init_repo scriptPietro Albini-0/+4
2019-05-29Update all s3 URLs used on CI with subdomainsAlex Crichton-9/+9
Ensure that they're all forwards-compatible with AWS updates happening next year by ensuring the bucket name shows up in the domain name. Closes #61168
2019-05-28Update musl-cross-make to 0.9.8Gregory Szorc-2/+2
This version uses musl 1.1.22 and GCC 6.4.0 by default. It also contains support for newer binutils and GCC versions, should we want to bump those as well. But I'm purposefully limiting this patch in order to reduce the surface area for controversy.
2019-05-28Revert "Disable solaris target since toolchain no longer builds"Bastian Germann-7/+5
This reverts commit e764f475ca7fffd6167ea991afc7d1b2b3f642dc. Fixes #61174.
2019-05-28Update musl to 1.1.22.Gregory Szorc-1/+1
This is the latest available version. I noticed Rust wasn't using the latest version when I attempted to have Cargo link object files produced outside of Cargo / Rust's toolchain and was getting missing symbol errors. Those missing symbols were added in 1.1.21 and 1.1.22. I'm not fully sure of the implications of this change or how comprehensive the test coverage is. Upstream changes in 1.1.21 and 1.1.22 can be found at https://git.musl-libc.org/cgit/musl/tree/WHATSNEW?h=v1.1.22&id=e97681d6f2c44bf5fa9ecdd30607cb63c780062e#n1989.
2019-05-26Docker: remove environment variable `CC_armebv7r_none_eabi`Paolo Teti-1/+0
`cc-rs` take care of selecting the tool-chain, so this ENV variable can be safely removed.
2019-05-25Rollup merge of #61110 - ehuss:revert-edition-override, r=Mark-SimulacrumMazdak Farrokhzad-3/+1
Revert edition-guide toolstate override Closes #60929
2019-05-24Auto merge of #60777 - pietroalbini:azure-pipelines, r=alexcrichtonbors-15/+43
Add Azure Pipelines configuration Huge thanks to @johnterickson and @willsmythe for writing the initial config! :heart: I applied some changes to the initial config and disabled most of the builders since we're not going to run all of them during the initial step for the evaluation. [More details about our plans for the Azure Pipelines evaluation.](https://internals.rust-lang.org/t/update-on-the-ci-investigation/10056) r? @alexcrichton @kennytm cc @rust-lang/infra @ethomson @rylev
2019-05-24ci: Enable debuginfo for std only if release channel is setVadim Petrochenkov-1/+1
2019-05-24rustbuild: Simplify debuginfo configurationVadim Petrochenkov-0/+1
2019-05-23Revert edition-guide toolstate overrideEric Huss-3/+1