about summary refs log tree commit diff
path: root/src/ci/run.sh
AgeCommit message (Collapse)AuthorLines
2020-07-15ci: Update dist-{i686,x86_64}-linux to Debian 6Josh Stone-0/+12
This increases the minimum `{i686,x86_64}-unknown-linux-gnu` platform from RHEL/CentOS 5 (glibc 2.5 and kernel 2.6.18) to a slightly newer Debian 6 `squeeze` (glibc 2.11 and kernel 2.6.32). While that release is already EOL, it happens to match the minimum common versions of two enterprise distros that do still need Rust support -- RHEL 6 (glibc 2.12 and kernel 2.6.32) and SLES 11 SP4 (glibc 2.11 and kernel 3.0).
2020-04-10Enforce Python 3 as much as possibleGuillaume Gomez-1/+9
2019-12-18Set release channel on non-dist buildersMark Rousskov-1/+6
Toolstate publication only runs if the channel is "nightly" and previously the toolstate builders did not know that the channel was nightly (since they are not dist builders). A look through bootstrap seems to indicate that nothing should directly depend on the channel being set to `-dev` on the test builders, though this may cause some problems with UI tests (if for some reason they're dumping the channel into stderr), but we cannot find evidence of such so hopefully this is fine.
2019-12-02[CI] fix the `! isCI` check in src/ci/run.shJosh Stone-1/+1
Using `if [ ! isCI ] || ...` doesn't run any command, just tests `isCI` as a string, whereas `if ! isCI || ...` will actually run the `isCI` command and negate its exit status.
2019-11-22ci: add support for GitHub Actions in the CI scriptsPietro Albini-3/+1
2019-10-25ci: cleanup platform detectionPietro Albini-1/+1
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-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-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-19azure: Prepare configuration for 4-core machinesAlex Crichton-1/+1
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-15ci: Remove Travis/AppVeyor configurationAlex Crichton-18/+0
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-05-30ci: Favor SCRIPT instead of RUST_CHECK_TARGETAlex Crichton-2/+0
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-24Auto merge of #60777 - pietroalbini:azure-pipelines, r=alexcrichtonbors-3/+7
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-20Make sure sccache not present doesn't kill the buildAlex Crichton-1/+1
2019-05-13ci: remove fanout from the azure pipelines configPietro Albini-19/+17
2019-05-10Add Azure PipelinesJohn Erickson-20/+26
2019-02-06Revert "Auto merge of #57975 - alexcrichton:debug-exit-appveyor, r=pietroalbini"Pietro Albini-7/+0
This reverts commit d3d0bf0e9f4d748b95ed143cc636d159bfcb4a6f, reversing changes made to 40e6a0bd766ca7b1c582b964131400b8c3e89d76.
2019-02-06Revert "Rollup merge of #58162 - pietroalbini:track-259, r=alexcrichton"Pietro Albini-7/+1
This reverts commit 4c243e2c3d8f02cdcd22fe68acf6a0b3edca2078, reversing changes made to 64f0032a3739b18ae45387744340d9c7ce48b145.
2019-02-05add even more debugging code to track down appveyor 259 exit codePietro Albini-0/+6
2019-02-04add more debugging code to track down appveyor 259 exit codePietro Albini-1/+1
2019-01-30Auto merge of #57975 - alexcrichton:debug-exit-appveyor, r=pietroalbinibors-0/+7
Attempt to debug 259 exit code on AppVeyor Let's try to dig in a bit more and see where this is coming from, it looks like AppVeyor is also unsure where this is coming from!
2019-01-29Attempt to debug 259 exit code on AppVeyorAlex Crichton-0/+7
Let's try to dig in a bit more and see where this is coming from, it looks like AppVeyor is also unsure where this is coming from!
2019-01-28Fix CIJohn Kåre Alsaker-1/+1
2019-01-17Revert "Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum"Pietro Albini-1/+1
This reverts commit 722b4d695964906807b12379577bce5ee3d23e08, reversing changes made to 956dba47d33fc8b2bdabcd50e5bfed264b570382.
2019-01-16prepare beta 1.33.0Pietro Albini-1/+1
2018-12-25Remove licensesMark Rousskov-9/+0
2018-10-26CI: Set codegen-units-std=1 for dist builds.Michael Woerister-0/+1
2018-10-20Update Cargo, build curl/OpenSSL statically via featuresAlex Crichton-1/+1
In addition to to updating Cargo's submodule and Cargo's dependencies, this also updates Cargo's build to build OpenSSL statically into Cargo as well as libcurl unconditionally. This removes OpenSSL build logic from the bootstrap code, and otherwise requests that even on OSX we build curl statically.
2018-10-13Improve verify_llvm_ir config optionNikita Popov-0/+3
* Make it influence the behavior of the compiled rustc, rather than just the rustc build system. That is, if verify_llvm_ir=true, even manual invocations of the built rustc will verify LLVM IR. * Enable verification of LLVM IR in CI, for non-deploy and deploy-alt builds. This is similar to how LLVM assertions are handled.
2018-10-01Fix conditions to allow missing tools in CIChristian Poveda-1/+1
2018-09-28Add enable-missing-tools optionChristian Poveda-0/+4
2018-09-10Add rustc SHA to released DWARF debuginfoAlex Crichton-0/+1
This commit updates the debuginfo that is encoded in all of our released artifacts by default. Currently it has paths like `/checkout/src/...` but these are a little inconsistent and have changed over time. This commit instead attempts to actually define the file paths in our debuginfo to be consistent between releases. All debuginfo paths are now intended to be `/rustc/$sha` where `$sha` is the git sha of the released compiler. Sub-paths are all paths into the git repo at that `$sha`.
2018-07-13Enabled core dump on Linux, and print stack trace on failure.kennytm-0/+5
2018-06-21Revert "Auto merge of #51662 - Mark-Simulacrum:beta-next, r=Mark-Simulacrum"Mark Simulacrum-1/+1
This reverts commit fff1abadd7a4ec861ca4b9c77035379578ef033d, reversing changes made to 01172a7d137dcba06f190241caadcaabe7c94767.
2018-06-20[beta] Prepare 1.28.0 beta releaseMark Simulacrum-1/+1
2018-06-07quiet-tests -> !verbose-testsOliver Schneider-4/+2
2018-05-04Check that rustc can be built successfully with parallel queries for PRs.Michael Woerister-2/+2
2018-04-06Give a name to every CI job.kennytm-0/+4
Bots that read the log can simply look for `[CI_JOB_NAME=...]` to find out the job's name.
2018-03-25Rollup merge of #49120 - Zoxc:parallel-ci, r=alexcrichtonkennytm-0/+7
Add a CI job for parallel rustc using x.py check r? @alexcrichton
2018-03-22Auto merge of #49264 - kennytm:rollup, r=kennytmbors-9/+1
Rollup of 23 pull requests - Successful merges: #48374, #48596, #48759, #48939, #49029, #49069, #49093, #49109, #49117, #49140, #49158, #49188, #49189, #49209, #49211, #49216, #49225, #49231, #49234, #49242, #49244, #49105, #49038 - Failed merges:
2018-03-22Revert "Temporarily disable dist-ing RLS, Rustfmt and Clippy."kennytm-9/+1
This reverts commit 9f792e199bc53a75afdad72547a151a0bc86ec5d.
2018-03-22Auto merge of #49094 - alexcrichton:print-step-duration, r=kennytmbors-0/+2
ci: Print out how long each step takes on CI This commit updates CI configuration to inform rustbuild that it should print out how long each step takes on CI. This'll hopefully allow us to track the duration of steps over time and follow regressions a bit more closesly (as well as have closer analysis of differences between two builds). cc #48829
2018-03-22Temporarily disable dist-ing RLS, Rustfmt and Clippy.kennytm-1/+9
Unfortunately we don't have sufficient time to rebuild the cache *and* distribute everything in `dist-x86_64-linux alt`, the debug assertions are really slow. We will re-enable them after the PR has been successfully merged, thus successfully updating the cache (freeing up 40 minutes), giving us enough time to build these tools.
2018-03-20ci: Print out how long each step takes on CIAlex Crichton-0/+2
This commit updates CI configuration to inform rustbuild that it should print out how long each step takes on CI. This'll hopefully allow us to track the duration of steps over time and follow regressions a bit more closesly (as well as have closer analysis of differences between two builds). cc #48829
2018-03-18Add a CI job for parallel rustc using x.py checkJohn Kåre Alsaker-0/+7
2018-03-16Rollup merge of #48892 - alexcrichton:thinlto-again, r=Mark-Simulacrumkennytm-1/+0
rustbuild: Remove ThinLTO-related configuration This commit removes some ThinLTO/codegen unit cruft primarily only needed during the initial phase where we were adding ThinLTO support to rustc itself. The current bootstrap compiler knows about ThinLTO and has it enabled by default for multi-CGU builds which are also enabled by default. One CGU builds (aka disabling ThinLTO) can be achieved by configuring the number of codegen units to 1 for a particular builds. This also changes the defaults for our dist builders to go back to multiple CGUs. Unfortunately we're seriously bleeding for cycle time on the bots right now so we need to recover any time we can.
2018-03-10Print /proc/cpuinfo and /proc/meminfo before starting to build.kennytm-0/+8
2018-03-09rustbuild: Remove ThinLTO-related configurationAlex Crichton-1/+0
This commit removes some ThinLTO/codegen unit cruft primarily only needed during the initial phase where we were adding ThinLTO support to rustc itself. The current bootstrap compiler knows about ThinLTO and has it enabled by default for multi-CGU builds which are also enabled by default. One CGU builds (aka disabling ThinLTO) can be achieved by configuring the number of codegen units to 1 for a particular builds. This also changes the defaults for our dist builders to go back to multiple CGUs. Unfortunately we're seriously bleeding for cycle time on the bots right now so we need to recover any time we can.