Commit Graph

811 Commits

Author SHA1 Message Date
Pietro Albini 61831ff7f7 ci: remove duplicated job names on GHA 2020-04-22 18:55:48 +02:00
Pietro Albini 1f106b5527 ci: set a default shell on GHA 2020-04-22 18:53:11 +02:00
Josh Stone 8506bb0060 Update the minimum external LLVM to 8
LLVM 8 was released on March 20, 2019, over a year ago.
2020-04-14 12:44:41 -07:00
bors c58c532744 Auto merge of #70989 - eddyb:mir-opt-32-pr-ci, r=Mark-Simulacrum
ci: run mir-opt tests on PR CI also as 32-bit (for `EMIT_MIR_FOR_EACH_BIT_WIDTH`).

Background: #69916 and [`src/test/mir-opt/README.md`](https://github.com/rust-lang/rust/blob/master/src/test/mir-opt/README.md):
> By default 32 bit and 64 bit targets use the same dump files, which can be problematic in the
presence of pointers in constants or other bit width dependent things. In that case you can add
>
> ```
> // EMIT_MIR_FOR_EACH_BIT_WIDTH
> ```
>
> to your test, causing separate files to be generated for 32bit and 64bit systems.

However, if you change the output of such a test (intentionally or not), or if you add a test and it varies between 32-bit and 64-bit platforms, you have to run this command (for a x64 linux host):
`./x.py test --stage 1 --target x86_64-unknown-linux-gnu --target i686-unknown-linux-gnu --bless  src/test/mir-opt`

Otherwise, bors trying to merge the PR will fail, since we test 32-bit targets there.
But we don't on PR CI, which means there's no way the PR author would know (unless they were burnt by this already and know what to look for).

This PR resolves that by running `mir-opt` tests for ~~`i686-unknown-linux-gnu`~~, on PR CI.
**EDIT**: switched to `armv5te-unknown-linux-gnueabi` to work around LLVM 7 crashes (see https://github.com/rust-lang/compiler-builtins/pull/311#issuecomment-612270089), found during testing.

cc @rust-lang/wg-mir-opt @rust-lang/infra
2020-04-13 16:28:57 +00:00
Eduard-Mihai Burtescu cb6a5609b3 ci: run mir-opt tests on PR CI also as 32-bit (for EMIT_MIR_FOR_EACH_BIT_WIDTH). 2020-04-11 13:43:22 +03:00
bors 9682f0e14d Auto merge of #66605 - GuillaumeGomez:drop-python2, r=Mark-Simulacrum
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-10 16:13:20 +00:00
Guillaume Gomez 38eb369fa4 Enforce Python 3 as much as possible 2020-04-10 09:09:58 -04:00
bors 167510f776 Auto merge of #70619 - etherealist:musl_lld, r=Mark-Simulacrum
Enable rust-lld on dist-x86_64-musl

Add rust-lld to rustup llvm-tools-preview on nightly for musl

I am using a musl distro on my workstation, with `RUSTFLAGS="-C target-feature=-crt-static"` this works fine. I know that `x86_64-unknown-linux-musl` was originally only meant as a target and not as a host. But most problems have been fixed, and I have fewer problems with `unknown` (rustup) than when I am using `x86_64-alpine-linux-musl` (rust installed by the distro). The only thing I am missing is rust-lld in llvm-tools-preview on nightly.

I needed rust-lld for a wasm tutorial. I built rust-lld and tested it with that tutorial, and it worked well. I asked [here](https://users.rust-lang.org/t/enable-rust-lld-on-x86-64-unknown-linux-musl/39851) where to request to enable lld and ended up doing this PR.

I compared llvm-tools-preview `nightly-x86_64-unknown-linux-musl` and `nightly-x86_64-unknown-linux-gnu`: only rust-lld is missing in musl.

I tested the change using:

```bash
./src/ci/docker/run.sh dist-x86_64-musl
```

And I checked that the resulting rust-lld binary runs.
2020-04-10 09:51:27 +00:00
Pietro Albini 1ce9257ebd ci: move /var/lib/docker to /mnt on GHA
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-04-06 18:09:08 +02:00
bors 853c4774e2 Auto merge of #69898 - spastorino:rename-rustc-guide2, r=Xanewok
Move rustc-guide submodule to rustc-dev-guide

r? @pietroalbini
2020-04-04 18:17:14 +00:00
Mazdak Farrokhzad 73f0cf69c1 Rollup merge of #68334 - andre-richter:master, r=japaric
AArch64 bare-metal targets: Build rust-std

This PR complements https://github.com/rust-lang/rust/pull/68253
2020-04-03 03:26:45 +02:00
bors 0f72ce1b27 Auto merge of #70628 - pietroalbini:gha-multiple-tries, r=Mark-Simulacrum
GHA: enable running multiple try builds at the same time

While for auto, try and PR builds we only want the latest commit to be tested, that's not true for try builds: each commit pushed to the branch is a different PR being tested, and we want multiple PRs to be tested in parallel if there is enough demand.

Fixes #70569
2020-04-02 09:10:06 +00:00
Pietro Albini 824dcd424f ci: disable cancel-outdated-builds for the try branch
While for auto, try and PR builds we only want the latest commit to be
tested, that's not true for try builds: each commit pushed to the branch
is a different PR being tested, and we want multiple PRs to be tested in
parallel if there is enough demand.

Fixes #70569
2020-03-31 19:49:36 +02:00
David Sonder a61a7c5993 Enable rust-lld on dist-x86_64-musl
Add rust-lld to llvm-tools-preview on nightly for musl
2020-03-31 17:20:16 +02:00
Ben Wolsieffer 55bdb61b48 Deduplicate crosstool-ng.sh 2020-03-30 20:09:45 -04:00
Ben Wolsieffer c2f1097ade Upgrade GCC to 8.3.0, glibc to 2.17.0 and crosstool-ng to 1.24.0 for dist-arm-linux and dist-armhf-linux 2020-03-25 15:29:21 -04:00
Santiago Pastorino 4387a8b96e Move rustc-guide submodule to rustc-dev-guide 2020-03-24 15:38:53 -03:00
Pietro Albini 45910e74fd ci: add notice on top of the azure pipelines configuration
This will inform contributors tweaking the Azure Pipelines configuration
that they also need to tweak the GitHub Actions setup.
2020-03-24 15:36:17 +01:00
Pietro Albini 89339df264 ci: run the "bors build finished" jobs only during try and auto runs 2020-03-24 15:36:14 +01:00
Pietro Albini ba97ad3509 ci: move the whole workspace directory on gha/linux
Moving just the `obj` directory created problems with mountpoints and
Docker containers, so this tries to symlink the parent directory.
2020-03-24 15:36:13 +01:00
Pietro Albini 11aafa5305 ci: run gha workflows for try, auto and master on the fork 2020-03-24 15:36:12 +01:00
Pietro Albini 1ba762a193 ci: fix out of disk space errors on linux GHA
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-24 15:36:10 +01:00
Pietro Albini b9c3633847 ci: don't move the build to C: on GitHub Actions
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-24 15:36:09 +01:00
Pietro Albini 9beb8f5477 ci: add github actions configuration 2020-03-24 15:36:07 +01:00
Pietro Albini 9d5c416037 ci: rename script windows-symlink-build-dir to symlink-build-dir
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-24 15:34:57 +01:00
Pietro Albini b4f71cd477 ci: fix azure pipeline specific code in install-awscli 2020-03-24 15:34:55 +01:00
bors 1add455ec6 Auto merge of #69894 - vtbassmatt:master, r=nellshamrell
establish immutable source for RUST_CONFIGURE_ARGS

fixes https://github.com/rust-lang/rust/issues/68671
2020-03-24 09:38:41 +00:00
Mazdak Farrokhzad edbbb4908c Rollup merge of #70159 - alexcrichton:update-wasi, r=pietroalbini
Update the bundled wasi-libc with libstd

Brings in WebAssembly/wasi-libc#184 which can help standalone programs
with environment variables!
2020-03-23 10:29:14 +01:00
Mazdak Farrokhzad bbd1ca3b69 Rollup merge of #70054 - rojamd:android-pgo, r=michaelwoerister
Build dist-android with --enable-profiler

This will make the runtime available to enable PGO for Rust code in Firefox on Android.

r? @michaelwoerister
2020-03-21 08:51:15 +01:00
Matt Cooper 6db4bb68d1 compat with macOS's ancient Bash 2020-03-20 14:53:00 -04:00
Alex Crichton d1a4a57777 Update the bundled wasi-libc with libstd
Brings in WebAssembly/wasi-libc#184 which can help standalone programs
with environment variables!
2020-03-19 09:58:31 -07:00
Pietro Albini 779e5922ee ci: use python from the correct path
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-18 21:07:44 +01:00
Mazdak Farrokhzad 91426e9666 Rollup merge of #69688 - JohnTitor:move-tidy, r=Mark-Simulacrum
Move tidy check to mingw-check

Fixes #69613
2020-03-17 12:16:12 +01:00
rojamd f8870bfd63 Build dist-android with --enable-profiler 2020-03-16 15:29:10 -04:00
Dylan DPC fdb5df049c Rollup merge of #69964 - ollie27:ci_nodejs, r=Mark-Simulacrum,GuillaumeGomez
Add Node.js to PR CI image

This should allow the `rustdoc-js` and `rustdoc-js-std` test suites to run automatically on PRs.
2020-03-16 01:30:33 +01:00
Matt Cooper 330233470e fix a glaring typo 2020-03-13 08:59:32 -04:00
Oliver Middleton 965888adc2 Add Node.js to PR CI image
This should allow the `rustdoc-js` and `rustdoc-js-std` test suites to run automatically on PRs.
2020-03-12 22:55:51 +00:00
Mazdak Farrokhzad 3d23de7baf Rollup merge of #69705 - ehuss:toolstate-remove-redundant-beta, r=Mark-Simulacrum
Toolstate: remove redundant beta-week check.

I made a bit of a mistake in #69624.  The "beta regression" doesn't need to be checked twice.

I also rolled up #69693 to avoid merge conflicts.
2020-03-12 16:32:15 +01:00
Matt Cooper a942b39465 fix how we detect an unset variable 2020-03-10 14:13:39 -04:00
Matt Cooper ec7010a1a8 establish immutable source for RUST_CONFIGURE_ARGS 2020-03-10 13:46:39 -04:00
Matthias Krüger 136ad015b6 fix various typos 2020-03-06 15:19:31 +01:00
Yuki Okushi d6a17b598f Move tidy check to mingw-check 2020-03-05 22:59:54 +09:00
Ralf Jung a6d8c9c5eb more toolstate comments 2020-03-04 08:30:26 -08:00
Andre Richter 176bf3c60f AArch64 bare-metal targets: Build rust-std
This patch enables building of rust-std for the aarch64 bare-metal targets.

For the compiler intrinsics, it fetches the AArch64 bare-metal target
(aarch64-none-elf) GCC for the A-profile provided by ARM itself from
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads
2020-02-28 19:05:42 +01:00
Dylan DPC 2f914bf327 Rollup merge of #68863 - pietroalbini:azure-macos-10.15, r=Mark-Simulacrum
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-19 18:12:07 +01:00
Mark Rousskov c992ab23fa Clean out some default-installed directories
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-18 11:34:59 +01:00
Pietro Albini 79c166ef73 ci: switch macOS builders to 10.15 2020-02-17 12:21:28 +01:00
Yuki Okushi 931005d549 Rollup merge of #68947 - chrissimpkins:python-fmt, r=alexcrichton
Python script PEP8 style guide space formatting and minor Python source cleanup

This PR includes the following changes in the Python sources based on a flake8 3.7.9 (mccabe: 0.6.1, pycodestyle: 2.5.0, pyflakes: 2.1.1) CPython 3.7.6 on Darwin lint:

- PEP8 style guide spacing updates *without* line length changes
- removal of unused local variable assignments in context managers and exception handling
- removal of unused Python import statements
- removal of unnecessary semicolons
2020-02-12 18:55:41 +09:00
Jethro Beekman 1b12232b8f Fix SGX RWLock representation for UnsafeCell niche fix 2020-02-10 14:44:12 -05:00
Chris Simpkins 60889d418e remove unnecessary semicolons 2020-02-07 23:35:27 -05:00