about summary refs log tree commit diff
path: root/src/ci/azure-pipelines
AgeCommit message (Collapse)AuthorLines
2020-04-14Update the minimum external LLVM to 8Josh Stone-2/+2
LLVM 8 was released on March 20, 2019, over a year ago.
2020-03-24ci: add notice on top of the azure pipelines configurationPietro Albini-0/+55
This will inform contributors tweaking the Azure Pipelines configuration that they also need to tweak the GitHub Actions setup.
2020-03-24ci: rename script windows-symlink-build-dir to symlink-build-dirPietro Albini-2/+2
There will be a need to symlink the Linux build directory in the future as well, so let's make the script name generic.
2020-03-13fix a glaring typoMatt Cooper-1/+1
2020-03-10establish immutable source for RUST_CONFIGURE_ARGSMatt Cooper-23/+23
2020-03-06fix various typosMatthias Krüger-1/+1
2020-02-19Rollup merge of #68863 - pietroalbini:azure-macos-10.15, r=Mark-SimulacrumDylan DPC-6/+2
ci: switch macOS builders to 10.15 Azure Pipelines is deprecating the macOS 10.13 image we're currently running, [and they plan to remove them](https://devblogs.microsoft.com/devops/removing-older-images-in-azure-pipelines-hosted-pools/) on March 23, 2020. This PR switches our macOS builders to macOS 10.15. r? @Mark-Simulacrum
2020-02-18Clean out some default-installed directoriesMark Rousskov-0/+3
This helps us have enough disk space for our builders to be able to complete successfully. For now, the choices are ad-hoc and 'definitely not needed'. This should never fail the build, as everything our build needs should be inside Docker.
2020-02-17ci: switch macOS builders to 10.15Pietro Albini-6/+2
2019-12-30ci: remove 32-bit apple targetsPietro Albini-20/+1
2019-12-10Move CI to new builtin check-toolstateMark Rousskov-5/+2
2019-12-02Update the minimum external LLVM to 7Josh Stone-2/+2
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/+41
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-31/+0
2019-11-12ci: move validate-toolstate.sh in the mingw-check imagePietro Albini-8/+0
The task was already run just there, so this cleans things up.
2019-11-12ci: extract collecting cpu stats into a scriptPietro Albini-5/+2
2019-11-12ci: extract running the build into a scriptPietro Albini-14/+1
2019-11-12ci: extract validate-toolstate into a scriptPietro Albini-12/+1
2019-11-12ci: remove the MSYS_BITS env varPietro Albini-25/+7
2019-11-12ci: remove the MINGW_DIR and MINGW_ARCHIVE env varsPietro Albini-12/+0
2019-11-12ci: replace MINGW_URL with CUSTOM_MINGW=1Pietro Albini-6/+6
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-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-10-31Rollup merge of #65274 - pietroalbini:ci-upload-toolstate, r=alexcrichtonMazdak Farrokhzad-32/+18
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-2/+2
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-29ci: upload toolstates.json to rust-lang-ci2Pietro Albini-0/+2
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/+14
2019-10-29ci: extract job skipping logic into a scriptPietro Albini-14/+1
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-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: split install-msys2 step into two separate scriptsPietro Albini-0/+7
2019-10-25ci: extract verifying line endings into a scriptPietro Albini-21/+5
2019-10-25ci: extract checking out submodules into a scriptPietro Albini-11/+5
2019-10-25ci: extract enabling ipv6 on docker into a scriptPietro Albini-9/+5
2019-10-25ci: extract installing ninja into a scriptPietro Albini-14/+5
2019-10-25ci: extract installing mingw into a scriptPietro Albini-40/+7
2019-10-25ci: extract installing msys2 into a scriptPietro Albini-52/+7
2019-10-25ci: extract disabling git crlf handling into a scriptPietro Albini-5/+7
2019-10-25ci: extract parts of windows-build-deps into scriptsPietro Albini-35/+18
2019-10-25ci: extract switching xcode into a scriptPietro Albini-8/+5
2019-10-25ci: extract installing clang into a scriptPietro Albini-47/+5
2019-10-25ci: extract installing sccache into a scriptPietro Albini-22/+6
2019-10-25ci: extract dumping the environment into a scriptPietro Albini-10/+2
2019-10-25ci: move install-awscli.sh into scripts/Pietro Albini-1/+1
2019-10-24workaround msys2 bugMateusz Mikuła-0/+23
Co-Authored-By: Pietro Albini <pietro@pietroalbini.org>
2019-10-16Remove PR runs, enable wasm32 CI, and move asmjs to disabledThomas Lively-6/+2
2019-10-16Temporarily enable asmjs and wasm32 on PR CIThomas Lively-0/+4
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.