Commit Graph

106 Commits

Author SHA1 Message Date
bors
3f83906b30 Auto merge of #98483 - dvtkrlbs:bootstrap-dist, r=jyn514
Distribute bootstrap in CI

This pre-compiles bootstrap from source and adds it to the existing `rust-dev` component. There are two main goals here:
1. Make it faster to build rust from source, both the first time and incrementally
2. Make it easier to add non-python entrypoints, since they can call out to bootstrap directly rather than having to figure out the right flags to pre-compile it. This second part is still in a bit of flux, see the tracking issue below for more information.

There are also several changes to make bootstrap able to run on a machine other than the one it was built (particularly around `config.src` and `config.out` detection). I (`@jyn514)` am slightly concerned these will regress unless tested - maybe we should add an automated test that runs bootstrap in a chroot or something? Unclear whether the effort is worth the test coverage.

Helps with https://github.com/rust-lang/rust/issues/94829.
2022-09-24 20:00:51 +00:00
Tuna
282b1e4768 Distribute bootstrap in CI artifacts
- Add a new `bootstrap` component

Originally, we planned to combine this with the `rust-dev` component.
However, I realized that would force LLVM to be redownloaded whenever bootstrap is modified.
LLVM is a much larger download, so split this to get better caching.

- Build bootstrap for all tier 1 and 2 targets
2022-09-14 18:26:59 -05:00
sashashura
bd5aad3ee2 Regenerate 2022-09-04 20:39:33 +03:00
sashashura
30875e9d0b add actions: write 2022-09-04 19:56:28 +03:00
Alex
301cc87abe
Update ci.yml
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-09-02 17:37:17 +01:00
Eric Huss
4a7e2fbb7b Sunset RLS 2022-08-27 21:36:08 -07:00
Mark Rousskov
6c7f301145 Enable downloading prebuilt LLVM in test builders
See comment added for details on the test builder restriction. This is primarily
intended for macOS CI, but is likely to be a slight win on other builders too.
2022-08-20 09:47:59 -04:00
Josh Stone
2970ad8aee Update the minimum external LLVM to 13 2022-08-14 13:46:51 -07:00
Josh Stone
bd81c0d80a Allow old toolchain on images with CUSTOM_MINGW 2022-08-10 21:07:13 -07:00
Ryan Levick
debb75aa44 Don't cancel try-perf branch if 'outdated' 2022-08-01 18:50:58 -04:00
Milo
1f7b6552bb dont run stage1 tests in pr 2022-07-30 22:10:26 +00:00
Milo
0f121d7288 add to full test-suite 2022-07-30 21:56:53 +00:00
Milo
2314f3b875 test stage-1 in ci 2022-07-20 20:42:11 +00:00
Rémy Rakic
9027f82536 introduce PGO on the dist-x86_64-msvc builder
This adds windows-specific behavior into the PGO script, and enables it
on CI.
2022-07-11 15:55:31 +02:00
Pietro Albini
94f2f00939
remove azure pipelines configuration 2022-06-05 12:29:20 +02:00
Keita Nonaka
9d319f3701 update: actions/checkout@v2 to actions/checkout@v3
update: actions/checkout@v2 to actions/checkout@v3 for all yaml files

Revert "update: actions/checkout@v2 to actions/checkout@v3 for all yaml files"

This reverts commit 7445e582b900f0f56f5f2bd9036aacab97ef28e9.

change GitHub Actions version v2 to v3

change GitHub Actions
2022-04-14 13:20:39 -07:00
Eric Huss
43f83bc013 Move submodule checkout before msys2 installation.
For some reason, `tar` behaves differently in such a way that it does
not create symlinks on Windows correctly, resulting in
`Cannot create symlink to 'ld.gold': No such file or directory`
errors.
2022-03-01 10:16:47 -08:00
Mark Rousskov
a023be99c6 Split x86_64 apple builder into two 2022-02-10 15:27:00 -05:00
Mark Rousskov
b726f285da Move target-only apple targets to separate builder 2022-01-28 12:29:09 -05:00
bors
cbaeec14f9 Auto merge of #92983 - pietroalbini:pa-bump-runner-images, r=Mark-Simulacrum
Update Linux runners to Ubuntu 20.04

r? `@Mark-Simulacrum`
2022-01-21 17:43:39 +00:00
Pietro Albini
855c17643a
add script to prevent point releases with same number as existing ones 2022-01-20 21:27:17 +01:00
Eric Huss
6a1099c202 Disable docs on aarch64-apple-darwin.
This builder is the slowest in the fleet. This should cut a considerable
amount of time. The manifest should now include the docs from
x86_64-apple-darwin. Although those docs are slightly different, it
should be close enough. When aarch64-apple-darwin heads towards tier 1,
we can revisit whether or not to re-enable the docs.
2022-01-17 20:21:44 -08:00
Pietro Albini
203aeb5f5e
update linux runners to ubuntu 20.04 2022-01-16 21:08:56 +01:00
Eric Huss
4bbbdb7f45 Remove VCVARS_BAT 2021-12-22 19:18:06 -08:00
Joshua Nelson
d42a391333 Change paths for dist command to match the components they generate
Before, you could have the confusing situation where the command to
generate a component had no relation to the name of that component (e.g.
the `rustc` component was generated with `src/librustc`). This changes
the name to make them match up.
2021-11-13 07:28:37 -06:00
Mark Rousskov
00bca4e957 Move back to linux builder on try builds 2021-10-25 09:38:24 -04:00
Matthias Krüger
d814af95ba
Rollup merge of #90100 - Mark-Simulacrum:speed-macos-ci, r=pietroalbini
Skip documentation for tier 2 targets on dist-x86_64-apple-darwin

I don't have an easy way to test this locally, but I believe it should work. Based on one log result should shave ~14 minutes off the dist-x86_64-apple builder (doesn't help with aarch64 dist or x86_64 test builder, so not actually decreasing total CI time most likely).

r? ```@pietroalbini```
2021-10-24 15:48:43 +02:00
bors
a99c9d6518 Auto merge of #89776 - rusticstuff:ci-overflow-checks, r=Mark-Simulacrum
CI: Enable overflow checks for test (non-dist) builds

They stay disabled for Apple builds though, which take the most time already due to running on slow hw.
2021-10-24 01:21:48 +00:00
Josh Stone
e9f545b9a9 Update the minimum external LLVM to 12 2021-10-22 10:50:07 -07:00
Josh Stone
65150af1b4 Update the minimum external LLVM to 11 2021-10-22 09:22:18 -07:00
Hans Kratz
5c8fca585c CI: Enable overflow checks for test (non-dist) builds 2021-10-21 13:10:52 +02:00
Mark Rousskov
5503dd9b0e [do not merge] try build 2021-10-20 14:43:23 -04:00
Mark Rousskov
9a3c02473b Skip documentation for tier 2 targets 2021-10-20 14:43:23 -04:00
Hans Kratz
8514b0097b Selecting the Xcode version no longer needed with the macos-11 runners. 2021-10-14 06:10:07 +02:00
Mara Bos
4ab3c117d0 Work around CI issue with windows sdk 10.0.20348.0. 2021-09-10 13:46:15 +02:00
Mukund Lakshman
700b64e100 CI: Verify commits in beta & stable are in upstream branches.
Closes #74721
2021-08-19 22:49:52 +01:00
bors
a0a6babf19 Auto merge of #85782 - badboy:build-ios-sim-target, r=Mark-Simulacrum
Build aarch64-apple-ios-sim as part of the full macOS build

Part of the [MCP 428](https://github.com/rust-lang/compiler-team/issues/428) to promote this target to Tier 2.

This adds the aarch64-apple-ios-sim target as a tier 2 target, currently cross-compiled from our x86_64 apple builders. The compiler team has approved the addition per the MCP noted above, and the infrastructure team has not raised concerns with this addition at this time (as the CI time impact is expected to be minimal; this is only building std).
2021-08-01 00:12:18 +00:00
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
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
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
hyd-dev
f82315a37e
Don't release Miri if its tests only failed on Windows 2021-02-05 22:44:50 +08: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