Commit Graph

46 Commits

Author SHA1 Message Date
Pietro Albini 39ddbeb874 ci: fix wrong sysroot in macos 10.15 onwards
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-30 14:56:51 +01:00
Pietro Albini 846d386b4d ci: install binutils in msys2 2019-12-30 14:56:50 +01:00
Aidan Hobson Sayers cefeb66366 Use the chocolatey CDN directly to avoid the flaky API 2019-12-24 00:59:37 +00:00
Mark Rousskov 3a6cd8e42b temporary retry around msys2 install 2019-12-22 20:17:00 -05:00
Pietro Albini ee12992da9 ci: guess some environment variables based on builder name and os
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-22 15:36:37 +01:00
Pietro Albini 262ce313d0 ci: add support for GitHub Actions in the CI scripts 2019-11-22 15:36:37 +01:00
Pietro Albini c90cc12b07 ci: move validate-toolstate.sh in the mingw-check image
The task was already run just there, so this cleans things up.
2019-11-12 11:06:11 +01:00
Pietro Albini e209ee42e9 ci: extract collecting cpu stats into a script 2019-11-12 11:06:11 +01:00
Pietro Albini d623c56f4c ci: extract running the build into a script 2019-11-12 11:06:11 +01:00
Pietro Albini 6104aa77eb ci: extract validate-toolstate into a script 2019-11-12 11:06:11 +01:00
Pietro Albini af6b26646b ci: remove the MSYS_BITS env var 2019-11-12 11:05:54 +01:00
Pietro Albini 53c2c04d63 ci: remove the MINGW_DIR and MINGW_ARCHIVE env vars 2019-11-12 11:03:52 +01:00
Pietro Albini 71e5018071 ci: replace MINGW_URL with CUSTOM_MINGW=1
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-12 11:03:52 +01:00
Alex Crichton 1e4c2ae622 Update clang to build LLVM to 9.0.0
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-07 13:06:56 -08:00
Mazdak Farrokhzad ce64b170eb Rollup merge of #65955 - pietroalbini:master-revert-msys2-hack, 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-31 02:54:08 +01:00
Mazdak Farrokhzad 6cee78c4f0 Rollup merge of #65274 - pietroalbini:ci-upload-toolstate, r=alexcrichton
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-31 02:54:04 +01:00
Pietro Albini ca3468768d ci: move toolstates.json to /tmp/toolstate/ and docker mount it
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-30 19:41:22 +01:00
Pietro Albini 48d6510f6f 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.
2019-10-30 09:41:40 +01:00
Pietro Albini 95ad6c33c7 Apply suggestions from lzutao
Co-Authored-By: lzutao <taolzu@gmail.com>
2019-10-29 10:32:51 +01:00
Pietro Albini bdfcde439b Apply suggestions from lzutao
Co-Authored-By: lzutao <taolzu@gmail.com>
2019-10-29 10:14:42 +01:00
Pietro Albini 02000505c1 ci: upload toolstates.json to rust-lang-ci2
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-29 10:08:01 +01:00
Pietro Albini 4479de4b4a ci: extract uploading artifacts into a script 2019-10-29 10:07:39 +01:00
Pietro Albini 4fb8a9a73c ci: extract job skipping logic into a script 2019-10-29 10:01:43 +01:00
Pietro Albini 7e051236b0 ci: fix wrong path for wix being set 2019-10-28 15:09:18 +01:00
Pietro Albini c854c4482b ci: fix execution condition for install-clang 2019-10-28 10:04:26 +01:00
Pietro Albini 9c44ca231a ci: fix tidy 2019-10-25 16:51:12 +02:00
Pietro Albini 19fdc5c07f ci: fix installation condition for MinGW
I mistakenly inverted the "variable is not set" check in bash.
2019-10-25 16:47:41 +02:00
Pietro Albini db0078706b ci: split install-msys2 step into two separate scripts 2019-10-25 16:47:41 +02:00
Pietro Albini 9d15336149 ci: fix wrong path being set in install-msys2.sh 2019-10-25 16:08:43 +02:00
Pietro Albini d52db03ef0 ci: fix innosetup installation 2019-10-25 16:08:42 +02:00
Pietro Albini 10fa917a13 ci: reuse the mirrors base url from shared.sh in scripts 2019-10-25 16:08:41 +02:00
Pietro Albini 7855ee2aa8 ci: fix tidy 2019-10-25 16:08:39 +02:00
Pietro Albini 102dc3ddc1 ci: use shared.sh in scripts/install-awscli.sh 2019-10-25 16:08:36 +02:00
Pietro Albini 9c252f14bc ci: extract verifying line endings into a script 2019-10-25 16:08:35 +02:00
Pietro Albini 9a9d427ef9 ci: extract checking out submodules into a script 2019-10-25 16:08:33 +02:00
Pietro Albini d264e954dc ci: extract enabling ipv6 on docker into a script 2019-10-25 16:08:32 +02:00
Pietro Albini bc9a0dc1b3 ci: extract installing ninja into a script 2019-10-25 16:08:31 +02:00
Pietro Albini e55059a5e6 ci: extract installing mingw into a script 2019-10-25 16:08:29 +02:00
Pietro Albini 852dfd7a17 ci: extract installing msys2 into a script 2019-10-25 16:08:27 +02:00
Pietro Albini e0b1b3bbc1 ci: extract disabling git crlf handling into a script 2019-10-25 16:03:11 +02:00
Pietro Albini 6dd074a8f6 ci: extract parts of windows-build-deps into scripts 2019-10-25 16:03:10 +02:00
Pietro Albini 1c0d764049 ci: extract switching xcode into a script 2019-10-25 16:03:08 +02:00
Pietro Albini c5bbde3e2f ci: extract installing clang into a script 2019-10-25 16:03:07 +02:00
Pietro Albini a36077235e ci: extract installing sccache into a script 2019-10-25 16:03:06 +02:00
Pietro Albini c1fb42add5 ci: extract dumping the environment into a script 2019-10-25 16:03:04 +02:00
Pietro Albini 4f568f8a81 ci: move install-awscli.sh into scripts/ 2019-10-25 16:03:03 +02:00