Commit graph

895 commits

Author SHA1 Message Date
Manish Goregaokar
a4024ba4eb
Rollup merge of #74639 - msirringhaus:master, r=cuviper
Downgrade glibc to 2.11.1 for ppc, ppc64 and s390x

As discussed in #73782
I've tested these changes on rust 1.43.0 for all the specified archs and used the resulting binaries to bootstrap building rust 1.43.1.
I've also shortly tested these changes on master on ppc64.
2020-07-24 10:01:34 -07:00
Martin Sirringhaus
e46219c169 Downgrade glibc to 2.11.1 for ppc, ppc64 and s390x 2020-07-23 10:03:37 +02:00
Manish Goregaokar
0edf2e618d
Rollup merge of #74600 - Mark-Simulacrum:try-perf, r=pietroalbini
Enable perf try builder

This adds a dedicated branch for perf to use for CI, intended to allow perf to
enqueue builds without needing to use bors. bors is great, but bors requires an
open PR to work, and we want to invoke perf on closed PRs sometimes (in
particular, rollups).
2020-07-22 16:34:44 -07:00
Mark Rousskov
747bc8ec88 Enable perf try builder
This adds a dedicated branch for perf to use for CI, intended to allow perf to
enqueue builds without needing to use bors. bors is great, but bors requires an
open PR to work, and we want to invoke perf on closed PRs sometimes (in
particular, rollups).
2020-07-22 07:13:15 -04:00
Pietro Albini
ffd112250e
ci: disable Azure Pipelines except for macOS 2020-07-22 11:00:56 +02:00
Pietro Albini
750ad2097e
ci: upload non-macOS from GHA instead of Azure Pipelines 2020-07-20 17:43:48 +02:00
Pietro Albini
5e11ae4fc5
ci: allow RLA to pick the right PR number 2020-07-20 17:12:30 +02:00
bors
48036804d2 Auto merge of #74163 - cuviper:debian6, r=Mark-Simulacrum
ci: Update dist-{i686,x86_64}-linux to Debian 6

This increases the minimum `{i686,x86_64}-unknown-linux-gnu` platform
from RHEL/CentOS 5 (glibc 2.5 and kernel 2.6.18) to a slightly newer
Debian 6 `squeeze` (glibc 2.11 and kernel 2.6.32). While that release is
already EOL, it happens to match the minimum common versions of two
enterprise distros that do still need Rust support -- RHEL 6 (glibc 2.12
and kernel 2.6.32) and SLES 11 SP4 (glibc 2.11 and kernel 3.0).

Closes #62516.
2020-07-19 10:46:34 +00:00
Manish Goregaokar
7b66c6678c
Rollup merge of #74418 - rye:gha-dedup-shell-setting, r=pietroalbini
ci: Set `shell: bash` as a default, remove duplicates

A follow-up to #74406, this commit merely removes the `shell: bash` lines where they were added in favor of setting defaults for *all* "run" steps in the jobs that run the tests.

The changes in #74406 were needed because of an upstream change to the `windows-2019` GitHub Actions image. Previously, the configuration worked fine without specifying `shell: bash`, but for some reason this broke with a new change that was deployed today. The preceding PR was a hotfix to get CI passing, but there was a slightly less duplicative way to specify the default shell for the jobs, which was to set the `defaults.run` option.

This change applies to the `pr`, `try`, `auto`, and `auto-fallible` jobs, which are derived from the YAML-anchor `base-ci-job`.  I did not apply these changes to the `master`, `try-success`, `try-failure`, `auto-success`, or `auto-failure` jobs because they have only a few steps.

cc/r? @Mark-Simulacrum
2020-07-17 18:13:42 -07:00
Kristofer Rye
586629c0b6
ci: Replace exec-with-shell wrapper with "plain bash"
Also, promote defaults.run.shell from inside only the primary jobs to
the top level.

The src/ci/exec-with-shell.py wrapper script was formerly used to change
out the shell mid-job by intercepting a CI_OVERRIDE_SHELL environment
variable.  Now, instead, we just set `bash` as the global default across
all jobs, and we also delete the exec-with-shell.py script.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2020-07-17 08:44:14 -05:00
Kristofer Rye
49f5078048
ci: Stop setting CI_OVERRIDE_SHELL environment variable
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-17 08:29:01 -05:00
bors
86c0b85da9 Auto merge of #74395 - Mark-Simulacrum:stage0-next, r=pietroalbini
Bump version to 1.47

This also bumps to a more recent rustfmt version, just to keep us relatively up to date (though almost nothing has changed in rustfmt we use beyond bumps to the parser infra). No formatting changes as a result of this.

r? @pietroalbini
2020-07-17 03:51:35 +00:00
Mark Rousskov
8321b3fbe4 Add zlib1g to builder deps 2020-07-16 19:36:49 -04:00
Kristofer Rye
ab23a2a9c5
ci: Set shell: bash as a default, remove duplicates
A follow-up to #74406, this commit merely removes the `shell: bash`
lines where they are explicitly added in favor of setting defaults for
*all* "run" steps.

Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2020-07-16 18:06:31 -05:00
Mark Rousskov
5b287f6ce1 Set shell for github actions CI 2020-07-16 13:53:02 -04:00
Manish Goregaokar
64a27880de
Rollup merge of #74294 - msirringhaus:master, r=pietroalbini
Update cross-compilation README

README seemed rather out of date. I hope the information in my PR is now correct (it was more or less assembled by asking in zulip and learning-by-doing).
2020-07-15 11:01:24 -07:00
Manish Goregaokar
af3d4cb936
Rollup merge of #72973 - msizanoen1:riscv-host, r=pietroalbini
RISC-V GNU/Linux as host platform

This PR add a new builder named `dist-riscv64-linux` that builds the compiler toolchain for RISC-V 64-bit GNU/Linux.

r? @alexcrichton
2020-07-15 11:01:02 -07:00
Josh Stone
75748a4116 ci: Update dist-{i686,x86_64}-linux to Debian 6
This increases the minimum `{i686,x86_64}-unknown-linux-gnu` platform
from RHEL/CentOS 5 (glibc 2.5 and kernel 2.6.18) to a slightly newer
Debian 6 `squeeze` (glibc 2.11 and kernel 2.6.32). While that release is
already EOL, it happens to match the minimum common versions of two
enterprise distros that do still need Rust support -- RHEL 6 (glibc 2.12
and kernel 2.6.32) and SLES 11 SP4 (glibc 2.11 and kernel 3.0).
2020-07-15 10:00:06 -07:00
bors
c714eae0e3 Auto merge of #71272 - jclulow:illumos-x86-ci, r=pietroalbini
build dist for x86_64-unknown-illumos

This change creates a new Docker image, "dist-x86_64-illumos", and sets
things up to build the full set of "dist" packages for illumos hosts, so
that illumos users can use "rustup" to install packages.  It also
adjusts the manifest builder to expect complete toolchains for this
platform.
2020-07-15 04:46:06 +00:00
Martin Sirringhaus
92e010e4a1 Move all code-snippets to /tmp/ as basedir 2020-07-13 15:42:59 +02:00
Martin Sirringhaus
e1106ca61b Fix typo 2020-07-13 15:36:39 +02:00
Martin Sirringhaus
304f00816d Update cross-compilation README 2020-07-13 15:30:48 +02:00
msizanoen1
933ba82266 RISC-V GNU/Linux as host platform 2020-07-11 17:30:02 +07:00
Manish Goregaokar
8376fcd5ce
Rollup merge of #74161 - tblah:riscv64gc-dockerfile-improvment, r=Mark-Simulacrum
Fix  disabled dockerfiles

When the dockerfiles were moved into the host-x86_64 directory, paths
for COPY commands were updated with the new host-x86_64/ prefix. This
suggested that the intended context was src/ci/docker. However, the context
for disabled docker images was src/ci/docker/host-x86_64. This broke the new
paths and prevented src/ci/docker/scripts from being included in the
context at all.

This commit corrects this context allowing docker to find the files it
needs for COPY commands.

Also includes a quick fix to riscv recommended by @bjorn3
2020-07-10 23:26:54 -07:00
Pietro Albini
34994a9ebc
ci: allow gating gha on everything but macOS
In our GitHub Actions setup macOS is too unreliable to gate on it, but
the other builders work fine. This commit splits the macOS builders into
a separate job (called auto-fallible), allowing us to gate on the auto
job without failing due to macOS spurious failures.
2020-07-10 15:46:45 +02:00
Joshua M. Clulow
8368a35f83 build dist for x86_64-unknown-illumos
This change creates a new Docker image, "dist-x86_64-illumos", and sets
things up to build the full set of "dist" packages for illumos hosts, so
that illumos users can use "rustup" to install packages.  It also
adjusts the manifest builder to expect complete toolchains for this
platform.
2020-07-08 23:39:09 +00:00
Tom Eccles
d9fec595e8 ci: fix context for disabled docker images
When the dockerfiles were moved into the host-x86_64 directory, paths
for COPY commands were updated with the new host-x86_64/ prefix. This
suggested that the intended context was src/ci/docker. However, the context
for disabled docker images was src/ci/docker/host-x86_64. This broke the new
paths and prevented src/ci/docker/scripts from being included in the
context at all.

This commit corrects this context allowing docker to find the files it
needs for COPY commands.
2020-07-08 22:02:31 +01:00
Tom Eccles
51b646e487 ci: disabled: riscv: minimise docker overlays
Suggested by @bjorn3

Every RUN command creates a new overlay on top of the image as of before
the RUN command. Using fewer RUN commands prevents intermediate overlays
(which in this case would have contained the entire Linux source tree).
2020-07-08 21:20:13 +01:00
bors
dbf3ae7c3b Auto merge of #74019 - Manishearth:rollup-2st3jsk, r=Manishearth
Rollup of 12 pull requests

Successful merges:

 - #73140 (Fallback to xml.etree.ElementTree)
 - #73670 (Add `format_args_capture` feature)
 - #73693 (Use exhaustive match in const_prop.rs)
 - #73845 (Use &raw in A|Rc::as_ptr)
 - #73861 (Create E0768)
 - #73881 (Standardize bibliographic citations in rustc API docs)
 - #73925 (Improve comments from #72617, as suggested by RalfJung)
 - #73949 ([mir-opt] Fix mis-optimization and other issues with the SimplifyArmIdentity pass)
 - #73984 (Edit docs for rustc_data_structures::graph::scc)
 - #73985 (Fix "getting started" link)
 - #73997 (fix typo)
 - #73999 (Bump mingw-check CI image from Ubuntu 16.04 to 18.04.)

Failed merges:

 - #74000 (add `lazy_normalization_consts` feature gate)

r? @ghost
2020-07-04 01:09:09 +00:00
Eduard-Mihai Burtescu
3bb6dc7628 Bump mingw-check CI image from Ubuntu 16.04 to 18.04. 2020-07-03 18:27:46 +03:00
Pietro Albini
775eeb32ca
ci: remove the emulated aarch64-gnu image 2020-07-03 09:34:32 +02:00
Pietro Albini
65f2dce042
ci: add native aarch64-gnu docker builder 2020-07-03 09:34:31 +02:00
Pietro Albini
e1ea006701
ci: include the architecture in the docker cache key
We're starting to include native aarch64 machines in our CI, but before
this commit the architecture wasn't included in the cache key for our
Docker images. This means there could be conflicts between images
produced on different architectures, hurting our CI times.

This commit fixes the problem by including the output of `uname -m` in
the cache key.
2020-07-03 09:34:29 +02:00
Pietro Albini
1149cf04de
ci: provide feedback when running an image on the wrong host arch 2020-07-03 09:34:28 +02:00
Pietro Albini
5c876f336a
ci: move all x86_64 runners to the host-x86_64 directory
We need to add runners designed for an aarch64 host system, and it'd be
nice to return an error message if someone tries to run an image
designed for an host architecture in another one.

To start the work on this, this commit moves all the existing builders
in the host-x86_64 directory, and changes the run.sh script to look up
the image in the correct directory based on the host architecture.
2020-07-03 09:34:27 +02:00
Manish Goregaokar
441dd5ad45
Rollup merge of #73952 - ehuss:docker-dev, r=Mark-Simulacrum
Add option for local docker testing.

This adds the option `--dev` to `src/ci/docker/run.sh` so that it will enter an interactive environment for local testing. I have often needed this for testing things, but I always needed to edit this script. I wanted the ability to interact in the environment, run different commands, inspect errors, etc.
2020-07-02 15:55:59 -07:00
Manish Goregaokar
65342fd341
Rollup merge of #73724 - CryZe:wasm-saturating-casts, r=alexcrichton
Use WASM's saturating casts if they are available

WebAssembly supports saturating floating point to integer casts behind a target feature. The feature is already available on many browsers. Beginning with 1.45 Rust will start defining the behavior of floating point to integer casts to be saturating as well. For this Rust constructs additional checks on top of the `fptoui` / `fptosi` instructions it emits. Here we introduce the possibility for the codegen backend to construct saturating casts itself and only fall back to constructing the checks ourselves if that is not possible.

Resolves part of #73591
2020-07-02 15:55:52 -07:00
bors
8a6d4342be Auto merge of #73954 - Manishearth:rollup-8qvh170, r=Manishearth
Rollup of 10 pull requests

Successful merges:

 - #73414 (Implement `slice_strip` feature)
 - #73564 (linker: Create GNU_EH_FRAME header by default when producing ELFs)
 - #73622 (Deny unsafe ops in unsafe fns in libcore)
 - #73684 (add spans to injected coverage counters, extract with CoverageData query)
 - #73812 (ast_pretty: Pass some token streams and trees by reference)
 - #73853 (Add newline to rustc MultiSpan docs)
 - #73883 (Compile rustdoc less often.)
 - #73885 (Fix wasm32 being broken due to a NodeJS version bump)
 - #73903 (Changes required for rustc/cargo to build for iOS targets)
 - #73938 (Optimise fast path of checked_ops with `unlikely`)

Failed merges:

r? @ghost
2020-07-02 12:35:08 +00:00
Christopher Serr
838c497a45 Address review comments and add UI test 2020-07-02 09:35:37 +02:00
Manish Goregaokar
4593e9f49f
Rollup merge of #73885 - pietroalbini:ci-fix-wasm32, r=kennytm
Fix wasm32 being broken due to a NodeJS version bump

Emscripten's SDK [recently bumped the version of NodeJS they shipped](https://github.com/emscripten-core/emsdk/pull/529), but our Dockerfile for the wasm32 builder hardcoded the version number. This will cause consistent CI failures once the currently cached image is rebuilt (either due to a change or due to the cache expiring).

This PR fixes the problem by finding the latest version of NodeJS in the Emscripten SDK and symlinking it to a "latest" directory, which is then added to the `PATH`.
2020-07-02 00:16:38 -07:00
Eric Huss
4dc5685220 Add option for local docker testing. 2020-07-01 21:03:14 -07:00
Manish Goregaokar
fb976e65a0
Rollup merge of #72569 - ChrisDenton:remove-innosetup, r=nikomatsakis
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-07-01 20:35:41 -07:00
bors
9491f18c5d Auto merge of #72053 - Mark-Simulacrum:32bitcheck, r=pietroalbini
Test UI tests for pass=check

I'm going to just compare the builder times since I wasn't able to get this working nicely locally (hit some obscure linker error).

Fixes part of #69823
2020-07-01 21:01:36 +00:00
Mark Rousskov
562e0151d1 Verify UI tests work in pass=check mode
We do not test cross-compilation here as the PR builder lacks a sufficiently
recent LLVM to cross-compile to 32-bit linux. Once we bump the minimum LLVM
version to LLVM 9, this can use normal 32-bit linux.
2020-07-01 10:07:52 -04:00
bors
1505c12395 Auto merge of #73863 - pietroalbini:revert-8bc3122311d, r=Mark-Simulacrum
Revert "ci: allow gating gha on everything but macOS"

The macOS issue on GHA's side seems to be fixed, so this is not needed anymore.

r? @Mark-Simulacrum
2020-07-01 10:17:39 +00:00
Pietro Albini
844dc31494
ci: fix wasm32 broken due to a NodeJS version bump
Emscripten's SDK recently bumped the version of NodeJS they shipped, but
our Dockerfile for the wasm32 builder hardcoded the version number. This
will cause consistent CI failures once the currently cached image is
rebuilt (either due to a change or due to the cache expiring).

This commit fixes the problem by finding the latest version of NodeJS in
the Emscripten SDK and symlinking it to a "latest" directory, which is
then added to the PATH.
2020-06-30 09:13:15 +02:00
Pietro Albini
c8f2dd0d3b
Revert "ci: allow gating gha on everything but macOS"
This reverts commit 8bc3122311.
2020-06-29 17:20:01 +02:00
bors
9bdd2db3a6 Auto merge of #73671 - ehuss:update-mdbook, r=Mark-Simulacrum
Update mdbook

This updates mdbook to 0.4.  The list of changes can be found at https://github.com/rust-lang/mdBook/blob/master/CHANGELOG.md#mdbook-040.  I think the most important one is the change to include fonts with the book instead of using the Google Fonts CDN. This adds a few megabytes of fonts to the docs component.  It may be possible to share the fonts across the books, but would take a fair bit of work to make that happen, so I'm not sure if it is necessary.

This also removes mdbook-linkcheck. It is currently not being used, and I don't foresee it going back into use anytime soon. I would prefer not to maintain something that isn't being used, and it removes a very large number of dependencies.
2020-06-27 20:14:34 +00:00
Eric Huss
6654c5852f Remove mdbook-linkcheck. 2020-06-26 07:45:28 -07:00
Adrian Cruceru
db6fa2fff5 Remove deprecated comments 2020-06-25 12:30:27 +02:00