summary refs log tree commit diff
path: root/src/ci/scripts
AgeCommit message (Collapse)AuthorLines
2021-02-04Auto merge of #81762 - pietroalbini:fix-install-msys2, r=m-ou-sebors-1/+3
CI: only copy python.exe to python3.exe if the latter does not exist We're copying the binary to make sure we can call `python3.exe` around, but it seems like the base image of GitHub Actions changed, copying the file before we do so. This PR changes the CI script to only copy the file if it doesn't already exist. r? `@m-ou-se` cc `@Mark-Simulacrum`
2020-11-07Run tools builder on subtree changesMark Rousskov-0/+4
2020-10-12Auto merge of #75914 - arlosi:aarch64-ci, r=pietroalbinibors-0/+7
Promote aarch64-pc-windows-msvc to Tier 2 Development Platform Adds a GitHub Actions CI build for `aarch64-pc-windows-msvc` via cross-compilation on an x86_64 host. This promotes `aarch64-pc-windows-msvc` from a Tier 2 Compilation Target (std) to a Tier 2 Development Platform (std+rustc+cargo+tools). Fixes #72881 r? `@pietroalbini`
2020-10-01Add a cross-compiling aarch64-apple-darwin CI builderJake Goulding-3/+24
2020-09-25Adds a GitHub Actions CI build for aarch64-pc-windows-msvc via ↵Arlo Siemsen-0/+7
cross-compilation on an x86_64 host. This promotes aarch64-pc-windows-msvc from a Tier 2 Compilation Target (std) to a Tier 2 Development Platform (std+rustc+cargo+tools). Fixes #72881
2020-09-10ci: avoid moving the build directory on GHAPietro Albini-18/+0
While waiting for a PR job to start testing my code, I noticed the symlink-build-dir step took 10 minutes to complete, so I investigated what caused that. It seems like something changed in the build environment between version 20200901.1 (where the step took 45 seconds) and version 20200908.1 (where the step took 10 minutes). At the time of writing this commit, the rust-lang organization is on vertsion 20200908.1, while the rust-lang-ci organization is at version 20200901.1 (and is not affected by this yet). There is no need for this step anymore on GHA, as our XL builders got an increase in the root paritition size, so this commit removes the code that moved stuff around on GHA (while keeping it on Azure). For the record, at the time of writing this, the disk situation is: Filesystem Size Used Avail Use% Mounted on /dev/sda1 667G 60G 607G 9% / /dev/sdb1 110G 4.1G 101G 4% /mnt
2020-08-25ci: fix macOS target name for LLVM 10Pietro Albini-3/+3
2020-08-25ci: bump prebuilt LLVM on macOS and Windows to 10.0.0Pietro Albini-6/+11
2020-07-23ci: avoid symlinking the build directory on self-hosted buildersPietro Albini-1/+1
2020-07-17ci: Stop setting CI_OVERRIDE_SHELL environment variableKristofer Rye-3/+0
This will render the src/ci/exec-with-shell.py script more or less useless, but we're going to replace that by just using the system bash instead. Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2020-07-01Rollup merge of #72569 - ChrisDenton:remove-innosetup, r=nikomatsakisManish Goregaokar-18/+0
Remove legacy InnoSetup GUI installer On Windows the InnoSetup `.exe` installer was superseded by the MSI installer long ago. It's no longer needed. The `.exe` installer hasn't been linked from the [other installation methods](https://forge.rust-lang.org/infra/other-installation-methods.html#standalone) page in many years. As far as I can tell the intent was always to remove this installer once the MSI proved itself. Though admittedly both installers feel very "legacy" at this point. Removing this would mean we only maintain one Windows GUI installer and would speed up the distribution phase. As a result of removing InnoSetup, this closes #24397
2020-06-11Use preinstalled MSYS2Mateusz Mikuła-42/+20
2020-05-25Remove legacy InnoSetup GUI installerChris Denton-18/+0
On Windows the InnoSetup installer was superseded by the MSI installer. It's no longer needed.
2020-05-22Revert MSYS2 CI workaroundMateusz Mikuła-13/+1
2020-05-20Workaround MSYS2/chocolatey issue againMateusz Mikuła-3/+11
2020-05-18Update pacman firstMateusz Mikuła-1/+5
2020-05-07ci: use the latest python available on windowsPietro Albini-2/+10
This commit changes our Windows CI to always use the latest Python interpreter available in the GHA tool cache instead of hardcoding Python 3.7.6. This is needed because occasionally GitHub bumps the installed version, deleting the previous one.
2020-04-10Auto merge of #66605 - GuillaumeGomez:drop-python2, r=Mark-Simulacrumbors-5/+6
Stop explicitly depending on python 2 This PR revises our previous policy of officially only supporting and testing with python 2 in the CI environment to instead test with python 3. It also changes the defaults to python 3 in our various scripts (usually, by way of `python` rather than `python3` to preserve compatibility with systems that do not have a python 3 available). The effect of this is that we expect all new patches to support python 3 (and will test as such). We explicitly also expect that patches support python 2.7 as well -- and test as such, though only on one builder. This is intended as a temporary, though likely long-lived, measure to preserve compatibility while looking towards the future which is likely to be a python 3 only world. We do not at this point set a timeline for when we'll drop support for python 2.7; it's plausible that this is months or years into the future, depending on how quickly the ecosystem drops support and how painful it is for us to maintain that support over time. Closes #65063 (as far as I can tell; please file explicit and separate issues or PRs if not).
2020-04-10Enforce Python 3 as much as possibleGuillaume Gomez-5/+6
2020-04-06ci: move /var/lib/docker to /mnt on GHAPietro Albini-0/+6
There are some builders that are running out of disk space while building the Docker images, such as arm-android. This moves and symlinks /var/lib/docker to the /mnt partition on Linux GHA.
2020-03-24ci: move the whole workspace directory on gha/linuxPietro Albini-1/+9
Moving just the `obj` directory created problems with mountpoints and Docker containers, so this tries to symlink the parent directory.
2020-03-24ci: fix out of disk space errors on linux GHAPietro Albini-4/+8
The /mnt mount point has 53GB of free disk space at the time of writing this commit, so this moves the build there to avoid running out of disk space during builds.
2020-03-24ci: don't move the build to C: on GitHub ActionsPietro Albini-1/+1
On Azure Pipeliones, the C: filesystem is huge with a lot of free space, while D: is small. By default builds happened in D:, so we added a script to symlink the big directories to C:, granting us more space. Filesystem Size Used Avail Use% C: 256G 143G 114G 56% D: 14G 2.0G 13G 15% On GitHub Actions instead C: is almost full, and we have a lot of free space on D:, where the build happens. Filesystem Size Used Avail Use% C: 128G 114G 15G 89% D: 56G 4.8G 52G 9% This commit stops creating the symlink on GitHub Actions, fixing the out of disk space errors we were seeing on some Windows builders.
2020-03-24ci: add github actions configurationPietro Albini-10/+31
2020-03-24ci: rename script windows-symlink-build-dir to symlink-build-dirPietro Albini-0/+0
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-24ci: fix azure pipeline specific code in install-awscliPietro Albini-1/+1
2020-03-24Auto merge of #69894 - vtbassmatt:master, r=nellshamrellbors-0/+13
establish immutable source for RUST_CONFIGURE_ARGS fixes https://github.com/rust-lang/rust/issues/68671
2020-03-20compat with macOS's ancient BashMatt Cooper-2/+8
2020-03-18ci: use python from the correct pathPietro Albini-2/+3
Apparently the old path we were using for Python 2 on Windows was not documented, and eventually got removed. This switches our CI to use the correct path.
2020-03-10fix how we detect an unset variableMatt Cooper-1/+1
2020-03-10establish immutable source for RUST_CONFIGURE_ARGSMatt Cooper-0/+7
2020-02-19Rollup merge of #68863 - pietroalbini:azure-macos-10.15, r=Mark-SimulacrumDylan DPC-16/+1
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/+16
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-16/+1
2019-12-30ci: fix wrong sysroot in macos 10.15 onwardsPietro Albini-0/+9
In their infinite wisdom, Apple decided that (starting from macOS 10.15 onwards) /usr/include is not the location we should all search in for our beloved C headers. Instead, we should look inside the extremely intuitive and easily guessable new path: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include Because why not.
2019-12-30ci: install binutils in msys2Pietro Albini-1/+2
2019-12-24Use the chocolatey CDN directly to avoid the flaky APIAidan Hobson Sayers-6/+10
2019-12-22temporary retry around msys2 installMark Rousskov-4/+6
2019-11-22ci: guess some environment variables based on builder name and osPietro Albini-0/+31
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-4/+4
2019-11-12ci: move validate-toolstate.sh in the mingw-check imagePietro Albini-18/+0
The task was already run just there, so this cleans things up.
2019-11-12ci: extract collecting cpu stats into a scriptPietro Albini-0/+9
2019-11-12ci: extract running the build into a scriptPietro Albini-0/+21
2019-11-12ci: extract validate-toolstate into a scriptPietro Albini-0/+18
2019-11-12ci: remove the MSYS_BITS env varPietro Albini-11/+21
2019-11-12ci: remove the MINGW_DIR and MINGW_ARCHIVE env varsPietro Albini-3/+12
2019-11-12ci: replace MINGW_URL with CUSTOM_MINGW=1Pietro Albini-4/+4
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-07Update clang to build LLVM to 9.0.0Alex Crichton-11/+12
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-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-0/+41
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