summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2020-01-271.41.0 stable releasePietro Albini-1/+1
2019-12-17Switch to bootstrapping from dev-static stableMark Rousskov-1/+1
2019-12-11Make it executableYuki Okushi-0/+0
2019-12-10Move CI to new builtin check-toolstateMark Rousskov-239/+37
2019-12-06Add note to src/ci/docker/README.md about multiple docker imagesAaron Hill-0/+7
I spent a while debugging a strage linker error about an outdated `glibc` version, only to discover that it was caused by a stale `obj` directory. It wasn't obviously to be that using the same obj dir with multiple Docker images (for the same target triple) could be a problem. This commit adds a note to the README, which should hopefully be helpful to anyone else who runs into this issue.
2019-12-06Rollup merge of #67066 - alexcrichton:update-wasi-libc, r=Mark-SimulacrumYuki Okushi-1/+1
Update the revision of wasi-libc used in wasm32-wasi This commit updates the `wasi-libc` repository used to build the wasm32-wasi target's libstd to ensure that both libstd and libc are using the same wasi snapshot version.
2019-12-06Rollup merge of #66974 - cuviper:not-isCI, r=alexcrichtonYuki Okushi-1/+1
[CI] fix the `! isCI` check in src/ci/run.sh 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-12-05Update the revision of wasi-libc used in wasm32-wasiAlex Crichton-1/+1
This commit updates the `wasi-libc` repository used to build the wasm32-wasi target's libstd to ensure that both libstd and libc are using the same wasi snapshot version.
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-12-02Update the minimum external LLVM to 7Josh Stone-5/+5
LLVM 7 is over a year old, which should be plenty for compatibility. The last LLVM 6 holdout was llvm-emscripten, which went away in #65501. I've also included a fix for LLVM 8 lacking `MemorySanitizerOptions`, which was broken by #66522.
2019-11-26Revert "DO NOT MERGE: enable windows try builder"Mark Rousskov-10/+59
This reverts commit 90a37bce44d145715eeac9f1f2f34433fc813ef0.
2019-11-22DO NOT MERGE: enable windows try builderPietro Albini-59/+10
2019-11-22ci: guess some environment variables based on builder name and osPietro Albini-143/+72
Some environment variables (like DEPLOY or DEPLOY_ALT for dist builders, or IMAGE on Linux builders) are set on a lot of builders, and whether they should be present or not can be detected automatically based on the builder name and the platform. This commit simplifies the CI configuration by automatically setting those environment variables.
2019-11-22ci: add support for GitHub Actions in the CI scriptsPietro Albini-47/+69
2019-11-19Rollup merge of #66090 - pietroalbini:ci-improvements, r=alexcrichtonMazdak Farrokhzad-101/+114
Misc CI improvements This PR contains some misc improvements to our CI configuration: * The environment variables for MinGW builders were greatly simplified, with just `CUSTOM_MINGW=1` to tell the install scripts to install the vendored copy. All the others (`MINGW_URL`, `MINGW_DIR`, `MINGW_ARCHIVE` and `MSYS_BITS`) are detected either from the builder name or the environment. * Collecting CPU stats and running the build were moved into scripts. * Toolstate scripts validation was previously a separate step, ran just when `IMAGE=mingw-check`. This moves the validation code inside the actual image. * Vendored copies are now fetched from https://ci-mirrors.rust-lang.org instead of directly from the bucket. r? @alexcrichton
2019-11-12ci: download curl and openssl from s3 for dist-x86_64-linuxPietro Albini-2/+9
CentOS 5 only supports SSLv3 without SNI, and to get newer protocols working we need to download and compile OpenSSL and cURL from our mirror. Because of that, we can't use the CDN, as CloudFront requires TLSv1 with SNI. This commit changes the dist-x86_64-linux image to bypass the CDN for OpenSSL and cURL.
2019-11-12ci: move mirrors to https://ci-mirrors.rust-lang.orgPietro Albini-11/+11
2019-11-12ci: move validate-toolstate.sh in the mingw-check imagePietro Albini-13/+9
The task was already run just there, so this cleans things up.
2019-11-12ci: extract collecting cpu stats into a scriptPietro Albini-5/+11
2019-11-12ci: extract running the build into a scriptPietro Albini-14/+22
2019-11-12ci: extract validate-toolstate into a scriptPietro Albini-12/+19
2019-11-12ci: remove the MSYS_BITS env varPietro Albini-36/+28
2019-11-12ci: remove the MINGW_DIR and MINGW_ARCHIVE env varsPietro Albini-15/+12
2019-11-12ci: replace MINGW_URL with CUSTOM_MINGW=1Pietro Albini-10/+10
This commit replaces the mirrors base URL contained in the MINGW_URL with a CUSTOM_MINGW=1 environment variable. The mirrors base URL will be fetched instead through the MIRRORS_BASE environment variable, defined in src/ci/shared.sh.
2019-11-09Update cc, git2, num_cpus.Eric Huss-1/+9
2019-11-07Attempt to fix *.yml confguration on AzureAlex Crichton-2/+2
Currently the `RUST_CONFIGURE_ARGS` variable apparently has a trailing newline at the end of it due to the way it's configured in yaml. This causes issues with MSVC's `install-clang.sh` step where the way the bash syntax works out means that we drop the arg we're trying to add and it doesn't actually get added! The hopeful fix here is to tweak how we specify the yaml syntax to not have a trailing newline, we'll see what CI says about this...
2019-11-07Update clang to build LLVM to 9.0.0Alex Crichton-14/+36
This also ensure that we're using the same clang version for all our major platforms instead of 8.0 on Linux and 7.0 on OSX/Windows.
2019-11-05Update the bundled `wasi-libc` repositoryAlex Crichton-7/+7
This updates the libc that the `wasm32-wasi` target links against to the latest revision, mostly just bringing in minor bug fixes and minor wasm size improvements.
2019-10-31Rollup merge of #65955 - pietroalbini:master-revert-msys2-hack, ↵Mazdak Farrokhzad-16/+0
r=Mark-Simulacrum ci: revert msys2 ca-certificates hack The hack was added because upstream msys2 broke the ca-certificates package, but since then it has been fixed. This reverts CI to use the upstream package. Part of #65767
2019-10-31Rollup merge of #65274 - pietroalbini:ci-upload-toolstate, r=alexcrichtonMazdak Farrokhzad-35/+69
Upload toolstates.json to rust-lang-ci2 This PR does two things: * Following up with https://github.com/rust-lang/rust/pull/65202, it migrates deploying artifacts to CI in a script. Both uploading release artifacts and CPU stats were merged into the same script, designing it to be easily extended. * Uploads the toolstate JSON to `rust-lang-ci2` along with the release artifacts, both for Linux and Windows. This is needed because @RalfJung wants to stop shipping MIRI when its tests are failing, and the toolstate repo doesn't have entries for each commit. Having the toolstate data (just for that specific commit) on `rust-lang-ci2` will simplify the code a lot. r? @alexcrichton cc @RalfJung
2019-10-30ci: move toolstates.json to /tmp/toolstate/ and docker mount itPietro Albini-6/+9
Before this commit toolstates.json was stored in /tmp and it wasn't mounted outside the build container. That caused uploading the file in the upload-artifacts task to fail, as the file was missing on the host. Mounting /tmp/toolstates.json alone is not the best approach: if the file is missing when the container is started the Docker engine will create a *directory* named /tmp/toolstates.json. The Docker issue could be solved by pre-creating an empty file named /tmp/toolstates.json, but doing that could cause problems if bootstrap fails to generate the file and the toolstate scripts receive an empty JSON. The approach I took in this commit is to instead mount a /tmp/toolstate directory inside Docker, and create the toolstates.json file in it. That also required a small bootstrap change to ensure the directory is created if it's missing.
2019-10-30ci: revert msys2 ca-certificates hackPietro Albini-16/+0
The hack was added because upstream msys2 broke the ca-certificates package, but since then it has been fixed. This reverts CI to use the upstream package.
2019-10-29Rollup merge of #65843 - xen0n:mips64-musl-targets-with-ci, r=alexcrichtonTyler Mandry-0/+16
Enable dist for MIPS64 musl targets Continuing work in #63165, necessary libc changes are in place and published so here we go!
2019-10-29Apply suggestions from lzutaoPietro Albini-1/+1
Co-Authored-By: lzutao <taolzu@gmail.com>
2019-10-29Apply suggestions from lzutaoPietro Albini-3/+3
Co-Authored-By: lzutao <taolzu@gmail.com>
2019-10-29ci: upload toolstates.json to rust-lang-ci2Pietro Albini-0/+7
Uploading the toolstate data for each commit will help our release tooling understand which components are failing, to possibly skip shipping broken tools to users.
2019-10-29ci: extract uploading artifacts into a scriptPietro Albini-30/+54
2019-10-29ci: extract job skipping logic into a scriptPietro Albini-14/+21
2019-10-29ci: enable "run when submodule changes" with environment variablesPietro Albini-28/+15
We have a job in our CI (PR's x86_64-gnu-tools) that's supposed to run only when a submodule is changed in the PR, and it works by having a task at the start of the build that skips all the following tasks if the condition isn't met. Before this commit that task was gated with template parameters, which is a unique feature of Azure Pipelines. To make our CI more generic this commit switches the gate to use a simple environment variable plus a condition, which should be supported on more CI providers.
2019-10-28ci: fix wrong path for wix being setPietro Albini-2/+2
2019-10-28ci: fix execution condition for install-clangPietro Albini-1/+1
2019-10-26ci: add support for MIPS64 musl targetsWang Xuerui-0/+16
2019-10-25ci: fix tidyPietro Albini-0/+1
2019-10-25ci: set MSYS_BITS environment variable for all windows buildersPietro Albini-0/+2
A few dist builders lacked that variable, causing build failures.
2019-10-25ci: fix installation condition for MinGWPietro Albini-5/+5
I mistakenly inverted the "variable is not set" check in bash.
2019-10-25ci: split install-msys2 step into two separate scriptsPietro Albini-14/+32
2019-10-25ci: fix wrong path being set in install-msys2.shPietro Albini-1/+1
2019-10-25ci: fix innosetup installationPietro Albini-1/+1
2019-10-25ci: reuse the mirrors base url from shared.sh in scriptsPietro Albini-7/+5
2019-10-25ci: fix tidyPietro Albini-5/+10