Commit graph

239 commits

Author SHA1 Message Date
Pietro Albini 4b5ac09e32
add CI_ONLY_WHEN_CHANNEL and run x86_64-gnu-stable only on nightly 2021-07-28 15:32:23 +02:00
Jan-Erik Rediger 61640f203b Build aarch64-apple-ios-sim as part of the full macOS build 2021-07-08 13:33:19 +02:00
Aris Merchant fe54486352 Fix typo in libs tracking issue template 2021-06-27 23:00:26 -07:00
Yuki Okushi 58e7411092
Rollup merge of #86274 - alexander-melentyev:spaces, r=bjorn3
Spaces
2021-06-22 00:00:38 +09:00
Alexander Melentyev e84c9aed6d Delete spaces 2021-06-21 12:11:37 +03:00
Mara Bos 8776b0f41c
Update library tracking issue for libs-api rename. 2021-06-18 18:44:09 +02:00
Pietro Albini 12d37e615f
add the x86_64-gnu-stable job to test with stable channel
During the 1.52 release process we had to deal with some commits that
passed the test suite on the nightly branch but failed on the beta or
stable branch. In that case it was due to some UI tests including the
channel name in the output, but other changes might also be dependent on
the channel.

This commit adds a new CI job that runs the Linux x86_64 test suite with
the stable branch, ensuring nightly changes also work as stable.
2021-06-07 18:55:43 +02:00
Pietro Albini 392723ec6e
ci: error out if someone sends a PR to the wrong branch 2021-05-06 18:47:37 +02:00
Camelid 16ff6c8050
Fix labels for regression issue template
Each label needs to be separated by a comma (see the ICE issue template
for an example of correct usage).

As a result of this problem, the `regression-untriaged` label has not
been automatically added to issues opened with this template.

See c127530be7 for another example of this.
2021-04-29 13:13:28 -07:00
Josh Stone 7d872f538e Update the minimum external LLVM to 10 2021-03-22 11:33:43 -07:00
klensy 22f25484d6 use checkout@v2 2021-03-16 17:54:09 +03:00
klensy 16e08d223b fix env var name 2021-02-26 05:41:25 +03:00
Esteban Küber 8ead8f57c6 Add A-diagnostics bug report template 2021-02-20 17:55:54 -05:00
hyd-dev f82315a37e
Don't release Miri if its tests only failed on Windows 2021-02-05 22:44:50 +08:00
Mara Bos 4d7e48970a Note library tracking issue template in tracking issue template. 2021-01-22 19:41:20 +01:00
Mara Bos 929a64fd4c
Improve library tracking issue template 2020-12-31 13:52:39 +01:00
Camelid c127530be7
Fix labels for 'Library Tracking Issue' template
Each label needs to be separated by a comma (see the ICE issue template
for an example of correct usage).
2020-12-19 20:47:57 -08:00
Mara Bos f7306b1b63 Add tracking issue template for library features. 2020-12-10 23:16:32 +01:00
DevJPM f8a32e9a4e Bumped minimal tested LLVM version to 9
This bumps the minimal tested llvm version to 9.
This should enable supporting newer LLVM features (and CPU extensions).
2020-11-12 14:39:47 +01:00
Dylan DPC 4e0695b79f
Rollup merge of #78746 - pietroalbini:i686-freebsd, r=Mark-Simulacrum
Demote i686-unknown-freebsd to tier 2 compiler target

While technically the `i686-unknown-freebsd` target has been a tier 2 development platform for a long time, with full toolchain tarballs available on static.rust-lang.org, due to a bug in the manifest generation the target was never available for download through rustup.

The infrastructure team privately inquired the FreeBSD package maintainers, and they weren't relying on those tarballs either, so it's a fair assumption to say practically nobody is using those tarballs.

This PR then removes the CI builder that produces full tarballs for the target, and moves the compilation of `rust-std` for the target in `dist-various-2`. The `x86_64-unknown-freebsd` target is *not* affected.

cc `@rust-lang/infra` `@rust-lang/compiler` `@rust-lang/release`
r? `@Mark-Simulacrum`
2020-11-09 19:06:57 +01:00
Dylan DPC 50086afb5d
Rollup merge of #78228 - pietroalbini:finally, r=Mark-Simulacrum
Promote aarch64-unknown-linux-gnu to Tier 1

This PR promotes the `aarch64-unknown-linux-gnu` target to Tier 1, as proposed by [RFC 2959]:

* The `aarch64-gnu` CI job is moved from `auto-fallible` to `auto`.
* The platform support documentation is updated, uplifting the target to Tiert 1 with a note about missing stack probes support.
* Building the documentation is enabled for the target, as we produce the `rust-docs` component for all Tier 1 platforms.

[RFC 2959]: https://github.com/rust-lang/rfcs/pull/2959
2020-11-09 01:13:33 +01:00
Mark Rousskov 51331e4739 Re-enable debug and LLVM assertions
Historically we've disabled these assertions on a number of platforms with the
goal of speeding up CI. Now, though, having migrated to GitHub actions, CI is
already pretty fast, and these debug assertions do bring us some value.

This does leave in some debug assertions that are performance-related: macOS
currently hovers at just under 2 hours.

There are also some other builders which have debug and LLVM assertions
disabled:

llvm-8, PR builder:

In one view, this builder tests our support for older LLVMs. But in reality, a
lot of our tests already disable themselves on older LLVMs, and I think our
general stance is that we really only support the in-tree LLVM. Plus, we really
want CI times on this builder to be really low, as it's run on *every* PR --
that's a lot of CI time.

test-various:

This disables debug asserts still -- as noted in the Dockerfile, we test code
size, and we need debug asserts off for that to work well.
2020-11-06 14:32:14 -05:00
Pietro Albini 54a0a98347
ci: gate on aarch64-gnu passing tests 2020-11-05 11:54:29 +01:00
Pietro Albini 308dbdd9fe
ci: bump actions/checkout to version 2
This was recommended by GitHub Support to try reducing the things that
could've caused #78743. I checked the changelog and there should be no
practical impact for us (we already set an explicit fetch-depth).
2020-11-05 00:05:20 +01:00
Pietro Albini 53c1eb7a26
ci: demote i686-unknown-freebsd to tier 2 compiler target
While technically the i686-unknown-freebsd target has been a tier 2
development platform for a long time, with full toolchain tarballs
available on static.rust-lang.org, due to a bug in the manifest
generation the target was never available for download through rustup.

The infrastructure team privately inquired the FreeBSD package
maintainers, and they weren't relying on those tarballs either, so it's
a fair assumption to say practically nobody is using those tarballs.

This PR then removes the CI builder that produces full tarballs for the
target, and moves the compilation of rust-std for the target in
dist-various-2.

The x86_64-unknown-freebsd target is *not* affected.
2020-11-04 18:38:49 +01:00
Jonas Schievink 95cbfb1aa4 Retitle forum links 2020-10-20 21:36:39 +02:00
Jonas Schievink 2ec4d82e15 Add issue template link to IRLO 2020-10-20 21:26:02 +02:00
Jake Goulding d959011de0 Update Xcode beta version to allow aarch64-apple-darwin to compile again 2020-10-14 13:51:28 -04:00
Yuki Okushi 1bb6eff53d
Rollup merge of #77725 - camelid:regression-template, r=Mark-Simulacrum
Add regression issue template

Feel free to suggest improvements!
2020-10-14 06:02:24 +09:00
Camelid 91cc3d2c42 Add regression issue template 2020-10-13 11:09:04 -07:00
Jake Goulding eb0c996ee2 Configure jemalloc for cross-compilation to aarch64-apple-darwin 2020-10-12 16:36:46 -04:00
Jake Goulding 5ae5b0e790 Enable building Cargo for aarch64-apple-darwin 2020-10-12 13:58:03 -04:00
bors d9b931669b Auto merge of #75914 - arlosi:aarch64-ci, r=pietroalbini
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-12 10:17:48 +00:00
Jake Goulding 225ec813a9 Add a cross-compiling aarch64-apple-darwin CI builder 2020-10-01 07:53:38 -04:00
Jake Goulding 9da1582b8e Move the try builder below the auto builders
This allows us to make use of a YAML anchor when specifying the try
builder config.
2020-09-28 07:45:39 -04:00
Arlo Siemsen 0a4dc8bc16 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
2020-09-25 15:08:18 -07:00
Mark Rousskov d0dff8f873 Make sure we build target-only things (e.g., docs) for host platforms too 2020-09-18 12:00:53 -04:00
Mark Rousskov 15adc2ee83 Remove duplicate macOS builders 2020-09-18 12:00:40 -04:00
Pietro Albini 9bf1f27f58
ci: gate macOS on GHA too 2020-09-15 21:56:07 +02:00
Mark Rousskov fb47bda53d Add host= configuration for msvc/darwin 2020-09-12 08:05:44 -04:00
dylni b92b0d6ee6 Fix typo in tracking issue template 2020-09-05 20:12:26 -04:00
Mateusz Mikuła ed3950ba5a Enable profiler tests on Windows-gnu 2020-09-04 15:10:16 +02:00
bors d8424f6b42 Auto merge of #74922 - joshtriplett:ninja-by-default, r=Mark-Simulacrum
Set ninja=true by default

Ninja substantially improves LLVM build time. On a 96-way system, using
Make took 248s, and using Ninja took 161s, a 35% improvement.

We already require a variety of tools to build Rust. If someone wants to
build without Ninja (for instance, to minimize the set of packages
required to bootstrap a new target), they can easily set `ninja=false`
in `config.toml`.  Our defaults should help people build Rust (and LLVM)
faster, to speed up development.
2020-08-29 06:08:37 +00:00
Pietro Albini 19d072f5d4
ci: run cancel-outdated-builds after fully setting up the env 2020-08-28 10:09:08 +02:00
Pietro Albini 19e70bf822
ci: disable cancel-outdated-builds for auto-fallible 2020-08-27 20:07:06 +02:00
Josh Triplett 181ce0e013 Disable ninja on macOS CI
Should be re-enabled when we have a recipe for installing ninja on
macOS.
2020-08-26 14:55:21 -07:00
Yuki Okushi b985c29d53
Remove the full-bootstrap builder from CI 2020-08-20 00:02:52 +09:00
Pietro Albini 268bc7fa2f
ci: disable fail-fast on auto-fallible
The purpose of the auto-fallible job is to run builders that are likely
to fail on CI without gating on them. Having fail-fast enabled there
kinda defeats the purpose, as if one of them fails we can't monitor the
outcome of the other ones.

This was prompted by the aarch64-gnu builder consistently failing due to
a broken test, preventing us from seeing if the macOS spurious failure
is fixed.
2020-08-04 11:14:28 +02:00
bors e8876ae2c1 Auto merge of #74675 - pietroalbini:aarch64-ci-fallible, r=Mark-Simulacrum
Add fallible AArch64 CI builder

This adds the `aarch64-gnu` CI builder to the `auto-fallible` job, as a first step in the process of actually gating on it.

r? @Mark-Simulacrum
2020-08-02 14:08:48 +00:00
Joshua Nelson da40cf81e6 Use --stage 2 in checktools
- Remove useless --stage 2 argument to checktools.sh
- Fix help text for expand-yaml-anchors (it had a typo)
2020-07-28 09:36:56 -04:00
Joshua Nelson 4ee8d847e5 Use --stage 2 explicitly in CI
- expand yaml anchors
- don't use --stage 2 for dist; that's already the default
2020-07-27 23:19:16 -04:00
Pietro Albini fe5a40eb14
ci: add aarch64-gnu as a fallible auto builder 2020-07-23 11:33:52 +02: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 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
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 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 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
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
msizanoen1 933ba82266 RISC-V GNU/Linux as host platform 2020-07-11 17:30:02 +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
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 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
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 7058471ade Auto merge of #73563 - Manishearth:rollup-oowgwwm, r=Manishearth
Rollup of 9 pull requests

Successful merges:

 - #72456 (Try to suggest dereferences on trait selection failed)
 - #72788 (Projection bound validation)
 - #72790 (core/time: Add Duration methods for zero)
 - #73227 (Allow multiple `asm!` options groups and report an error on duplicate options)
 - #73287 (lint: normalize projections using opaque types)
 - #73291 (Pre-compute `LocalDefId` <-> `HirId` mappings and remove `NodeId` <-> `HirId` conversion APIs)
 - #73378 (Remove use of specialization from librustc_arena)
 - #73411 (Update bootstrap to rustc 1.45.0-beta.2 (1dc0f6d8e 2020-06-15))
 - #73443 (ci: allow gating GHA on everything but macOS)

Failed merges:

r? @ghost
2020-06-20 22:53:46 +00:00
Manish Goregaokar 929f032742
Rollup merge of #73443 - pietroalbini:gha-auto-fallible, r=Mark-Simulacrum
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.

cc https://github.com/rust-lang/rust-central-station/issues/848
r? @Mark-Simulacrum
2020-06-20 14:45:04 -07:00
Pietro Albini afde8601d6
ci: disable alt build during try builds
The build is not actually needed often, and it can be added back on a
case-by-case basis if a specific PR needs access to it.
2020-06-17 17:17:25 +02:00
Pietro Albini 8bc3122311
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-06-15 15:12:43 +02:00
Ralf Jung fb75d4a746
Rollup merge of #73296 - ehuss:remove-msvc-aux, r=Mark-Simulacrum
Remove vestigial CI job msvc-aux.

This CI job isn't really doing anything, so it seems prudent to remove it.

For some history:
* This was introduced in #48809 when the msvc job was split in two to keep it under 2 hours (oh the good old days). At the time, this check-aux job did a bunch of things:
    * tidy
    * src/test/pretty
    * src/test/run-pass/pretty
    * src/test/run-fail/pretty
    * src/test/run-pass-valgrind/pretty
    * src/test/run-pass-fulldeps/pretty
    * src/test/run-fail-fulldeps/pretty
* Tidy was removed in #60777.
* run-pass and run-pass-fulldeps moved to UI in #63029
* src/test/pretty removed in #58140
* src/test/run-fail moved to UI in #71185
* run-fail-fulldeps removed in #51285

Over time through attrition, the job was left with one lonely thing: `src/test/run-pass-valgrind/pretty`. And of course, this wasn't actually running the "pretty" tests. The normal `run-pass-valgrind` tests ran, and then when it tried to run in "pretty" mode, all the tests were ignored because compiletest thought nothing had changed (apparently compiletest isn't fingerprinting the mode?  Needs more investigation…). `run-pass-valgrind` is already being run as part of `x86_64-msvc-1`, so there's no need to run it here.

I've taken the liberty of removing `src/test/run-pass-valgrind/pretty` as a distinct test. I'm guessing from the other PR's that the pretty tests should now live in `src/test/pretty`, and that the team has moved away from doing pretty tests on other parts of the `src/test` tree.
2020-06-15 12:01:11 +02:00
Eric Huss c0aef6d816 Remove vestigial CI job msvc-aux. 2020-06-12 14:17:42 -07:00
Mateusz Mikuła 91b6f1585d Use preinstalled MSYS2 2020-06-11 16:57:26 +02:00
Eric Huss e6582006e8 Enable lld for Cargo tests on Windows. 2020-06-04 14:32:23 -07:00
Chris Denton 912963bd08 Remove legacy InnoSetup GUI installer
On Windows the InnoSetup installer was superseded by the MSI installer. It's no longer needed.
2020-05-25 13:53:02 +01:00
Mark Rousskov 9a4e7183d4 Configure cache domain for GHA 2020-05-11 10:50:53 -04:00
Pietro Albini fde5811d74
ci: use bash when executing the "bors build finished" jobs
We don't clone the repository in those builders, so the default shell
(src/ci/exec-with-shell.py) is not present there.
2020-04-29 16:32:32 +02:00
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
Jonas Schievink 49bca71418
Clarify when to use the tracking issue template 2020-04-18 21:07:28 +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
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
DutchGhost 641409bd62
Add Rust to the code snippet 2020-03-30 21:33:42 +02: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 11aafa5305
ci: run gha workflows for try, auto and master on the fork 2020-03-24 15:36:12 +01:00
Pietro Albini 9beb8f5477
ci: add github actions configuration 2020-03-24 15:36:07 +01:00
Santiago Pastorino b3b32b74bc
rust-lang.github.io/rustc-dev-guide -> rustc-dev-guide.rust-lang.org 2020-03-10 17:08:18 -03:00
Santiago Pastorino 0037f4e37c
Rename rustc-guide to rustc-dev-guide 2020-03-10 17:08:10 -03:00
Erin Power 49d78fcd90
Add GitHub issue templates 2020-01-21 18:33:46 +01:00