Commit Graph

288 Commits

Author SHA1 Message Date
Jakub Beránek
e115359035
CI: merge x86_64-msvc-cargo and x86_64-msvc-tools jobs 2023-06-19 15:58:12 +02:00
Jakub Beránek
1dba9721fc
CI: merge x86_64-gnu-llvm-14 and x86_64-gnu-llvm-14-stage1 CI jobs 2023-06-19 10:15:03 +02:00
bors
2d0aa57684 Auto merge of #112645 - Kobzol:ci-mingw-merge, r=pietroalbini
CI: merge `mingw` test CI jobs

Same as https://github.com/rust-lang/rust/pull/112633, but for `mingw`. From the logs it looks like the runner spends 40 minutes compiling `rustc`, and then `10`/`20` minutes running tests. It seems wasteful to split that into two jobs.

CI run: https://github.com/rust-lang/rust/actions/runs/5275702134/jobs/9541479343?pr=112645

r? `@jyn514`
2023-06-18 19:49:26 +00:00
Jakub Beránek
f3a4cf13a7
Merge mingw-1/2 CI jobs 2023-06-18 14:40:52 +02:00
Matthias Krüger
be0f3bdc3e
Rollup merge of #110805 - pitaj:master, r=Mark-Simulacrum
Github action to periodically `cargo update` to keep dependencies current

Opens a PR periodically with the results of `cargo update`. If an unmerged PR for the branch `cargo_update` already exists, it will edit then reopen it if necessary.

~~This also uses [`cargo-upgrades`](https://gitlab.com/kornelski/cargo-upgrades) to provide a list of available major upgrades in the PR body.~~

It includes the list of changes output by `cargo update` in the commit message and PR body. Note that this output is currently sub-optimal due to https://github.com/rust-lang/cargo/issues/9408, but if updates are made more regularly that is less likely to show up.

Example PR: https://github.com/pitaj/rust/pull/2
Example action run: https://github.com/pitaj/rust/actions/runs/5035731903
Prior discussion: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/dependabot.20updates.3F

Up for discussion:
- What period do we want? Currently weekly
- What user should it use? Currently "Github Actions"
- Do we need the extra security of provided by executing `cargo update` and `cargo-upgrades` in a separate job?
  If not I can simplify it to not need artifacts.
- PR message wording
- PR should probably always be `rollup=always`?
- What branch should it use?
- What should it do if no updates are available? Currently fails the job on empty commit
- Should the yml file live in `src/ci` instead of directly under workflows?
- ~~Is using the latest nightly toolchain enough to ensure compatibility with `Cargo.lock` and `Cargo.toml`s in master?~~
  Now pulls the bootstrap version from stage0.json

r? infra
2023-06-17 18:27:30 +02:00
bors
1d7d824726 Auto merge of #112407 - tgross35:ci-docs-publish, r=Mark-Simulacrum
Publish docs as github artifacts during CI

Discussed here: https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Building.20docs.20for.20PR.20CI

The goal is to make docs available for download after CI runs on PRs, for easy review of API changes.

Notes:

- Currently this only captures library documentation (`core`, `alloc`, `std`, `test`, `proc_macro`)
- You can't see artifacts until the entire workflow run has completed https://github.com/actions/upload-artifact/issues/53
- There is currently a generic file name `ci-artifacts`. No way to customize this based on contained files unfortunately https://github.com/actions/upload-artifact/issues/349

You can find the results at the bottom of the CI "summary" page:

<img width="379" alt="image" src="https://github.com/rust-lang/rust/assets/13724985/d3748e59-242c-40f8-9f54-82177b9b481b">
2023-06-17 03:28:53 +00:00
Jakub Beránek
895eb3035e
Merge msvc-1/2 CI jobs 2023-06-14 23:07:49 +02:00
Trevor Gross
696b0dd472 Publish docs as github artifacts during CI
This PR saves library docs as github artifacts so they can be easily
viewed for review.

Discussed in <https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Building.20docs.20for.20PR.20CI>
2023-06-12 17:31:20 -04:00
Peter Jaszkowiak
6d3ff10536 run cargo update weekly
- Keep Cargo.lock dependencies current
- Presents output from `cargo update` in commit and PR
- Edit existing open PR, otherwise open a new one
- Skip if existing open PR is S-waiting-on-bors
2023-06-10 14:47:44 -06:00
Jakub Beránek
db113b1c2b
Do not build components unneeded for perf bot in try builds 2023-06-01 08:29:19 +02:00
WANG Rui
5f173e979f ci: Add support for dist-loongarch64-linux
Co-Authored-By: YANG Xiaojuan <yangxiaojuan@loongson.cn>
2023-05-12 18:31:55 +08:00
bors
c4190f2d3a Auto merge of #111224 - jyn514:default-tidy, r=pietroalbini
Remove `tidy` key in PR CI

This avoids confusing error messages when adding an `auto` job to CI (as recommended in the dev-guide: https://rustc-dev-guide.rust-lang.org/tests/ci.html#using-ci-to-test).

cc https://rust-lang.zulipchat.com/#narrow/stream/182449-t-compiler.2Fhelp/topic/Do.20.60needs-profiler-support.60.20tests.20not.20run.20in.20CI.3F/near/355302998

r? `@ghost`
2023-05-07 17:17:58 +00:00
bors
a77c552485 Auto merge of #110972 - ehuss:remove-awscli, r=pietroalbini
Remove aws cli install.

All runner images have the AWS CLI 2 installed, so there isn't a really strong reason to install our own version anymore.

The version we were installing was 1.27.122. The runner images currently have 2.11.x (the exact version varies by image).

I do not have the means to really test if the new version has any issues. I looked at all the `aws` commands, and none of them seem to be doing anything unusual. The page at https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html contains a list of all the breaking changes, and I didn't see anything that looked important.
2023-05-06 21:15:25 +00:00
jyn
453c632b23 Remove tidy key in PR CI
This avoids confusing error messages when adding an `auto` job to CI (as
recommended in the dev-guide: https://rustc-dev-guide.rust-lang.org/tests/ci.html#using-ci-to-test).
2023-05-04 18:17:46 -05:00
bors
82cd953c7c Auto merge of #110846 - jdno:reduce-builder-sizes, r=pietroalbini
Optimize builder sizes

The infra-team is continuously monitoring the efficiency of the CI system in an effort to improve overall build times and resource usage. Some builders have used much less than their allocated resources, so we are testing smaller builder sizes for them.

r? `@pietroalbini`
2023-05-03 07:06:42 +00:00
Eric Huss
291b61e94f Set the AWS region. 2023-04-30 13:23:48 -07:00
Eric Huss
7cb798c24f Remove aws cli install. 2023-04-28 18:16:34 -07:00
Jan David
47528c0b14
Downsize builders for some x86_64-gnu targets
The infra-team is continuously monitoring the efficiency of the build
system in an effort to improve overall build times and resource usage.
The builders for some of the `x86_64-gnu` targets have used much less
resources than allocated in the past, so we are testing a smaller
builder size for them.
2023-04-26 16:52:39 +02:00
Jan David
4cbe65db8b
Downsize builder for mingw-check
The infra-team is continuously monitoring the efficiency of the build
system in an effort to improve overall build times and resource usage.
The builder for the `mingw-check` target have used much less resources
than allocated in the past, so we are testing a smaller builder size for
it.
2023-04-26 16:40:12 +02:00
Jan David
3402e286d5
Downsize builders for i686-gnu
The infra-team is continuously monitoring the efficiency of the build
system in an effort to improve overall build times and resource usage.
The builders for the `i686-gnu` targets have used much less resources
than allocated in the past, so we are testing a smaller builder size for
them.
2023-04-26 16:08:01 +02:00
Ryan Levick
241cbcaa87 Use the standard macOS CI runner 2023-04-25 10:32:29 +02:00
Yuki Okushi
41a2fb251c
Rollup merge of #110424 - jsoref:spelling-misc, r=Mark-Simulacrum
Spelling misc

These two files seem to be fairly distinct from everything else.

That said, if this project doesn't like changing changelogs, I'm happy to drop the changes to `RELEASES.md`
2023-04-20 17:03:24 +09:00
Josh Soref
0100678188 Spelling misc
* environment
* nonexistent
* potential
* prefixes
* stabilization
* suffixes
* use

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2023-04-17 02:55:27 -04:00
Josh Stone
33036159a4 ci: add a runner for vanilla LLVM 16
Like #107044, this will let us track compatibility with LLVM 16 going
forward, especially after we eventually upgrade our own to the next.

This also drops `tidy` here and in `x86_64-gnu-llvm-15`, syncing with
that change in #106085.
2023-04-16 11:50:20 -07:00
Mark Rousskov
3153eaaeb5 Trim down core counts for fast builders
These builders aren't particularly high on overall average CPU usage and finish in typically around
30 minutes. Cutting their core counts will hopefully not significantly increase wall-time while
cutting costs, allowing us to shift some of the wins into our slower builders.
2023-04-10 10:34:24 -04:00
jyn
423e76f1dd Improve job names in Github Actions preview
Before: `CI / PR (mingw-check, false, ubuntu-20.04-16core-64gb) (pull_request)`
After: `CI / PR - mingw-check (pull_request)`
2023-04-02 17:58:08 -04:00
Mark Rousskov
f83dfd9f86 Move us to the new large runners pool
For now this keeps all the configuration identical (AFAICT) but we'll
likely want to play with the specifics to move some of the slower
builders to larger machines and the faster builders to smaller machines,
likely reducing overall usage and improving CI times.
2023-03-19 11:41:55 -04:00
Nilstrieb
58884a30a0 Revert "enable ThinLTO for rustc on x86_64-pc-windows-msvc dist builds"
This lead to a miscompilation in at least `char::is_whitespace` and
probably in more unknown places.....

This reverts commit 684663ed38.
2023-03-13 21:18:54 +01:00
Michael Goulet
506ce7e3cc Re-apply "switch to the macos-12-xl builder"
This reverts commit e63ec2e140.
2023-02-22 22:14:25 +00:00
Josh Stone
a06aaa4a9e Update the minimum external LLVM to 14 2023-02-10 16:06:25 -08:00
Matthias Krüger
a4a164cc45
Rollup merge of #107773 - Mark-Simulacrum:rename-auto-template, r=estebank
Clearly signal purpose of the yaml template

Following up on https://github.com/rust-lang/rust/pull/106898#issuecomment-1383238532
2023-02-08 07:13:28 +01:00
Mark Rousskov
8e2f57094f Clearly signal purpose of the yaml template 2023-02-07 14:31:38 -05:00
Joshua Nelson
9dfec5d35b Run the tools builder on all PRs
Previously, it would only run on changes to subtrees, submodules, or select directories.
That made it so that changes to the compiler that broke tools would only be detected on a full bors merge.
This makes it so the tools builder runs by default, making it easier to catch breaking changes to clippy (which was the most effected).
2023-02-05 14:29:49 -06:00
bors
5d32458343 Auto merge of #107543 - ehuss:protocol-sparse, r=jyn514
Enable Cargo's sparse protocol in CI

This enables the sparse protocol in CI in order to exercise and dogfood it. This is intended test the production server in a real-world situation.

Closes #107342
2023-02-03 04:49:50 +00:00
bors
8789e53929 Auto merge of #107574 - compiler-errors:back-to-old-mac-builders-pls, r=pietroalbini
Revert "switch to the macos-12-xl builder"

This reverts commit fcbae989ae.

This should fix the bors failures in https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/Every.20rust-lang.2Frust.20PR.20is.20failing.20bors
2023-02-01 22:45:27 +00:00
Michael Goulet
e63ec2e140 Revert "switch to the macos-12-xl builder"
This reverts commit fcbae989ae.
2023-02-01 21:31:05 +00:00
Eric Huss
5e90940a4b Enable Cargo's sparse protocol in CI 2023-01-31 18:13:57 -08:00
Guillaume Gomez
b9b56762f3
Rollup merge of #106898 - estebank:ice-forms-are-a-headache, r=Mark-Simulacrum
Include both md and yaml ICE ticket templates

* Existing compilers link to the md version
* The YAML version field for the backtrace *doesn't let us paste a full backtrace*
* We will need the YAML version in order to be able to submit reports once we start storing the backtrace to disk

Follow up to #106831. Reaction to #106874, which made me realize that *really* long backtraces are rejected by GitHub Forms. A single backtrace won't hit this, but ICEs sometimes compound.
2023-01-31 23:38:49 +01:00
bors
f55b0022db Auto merge of #103019 - Kobzol:ci-multistage-python, r=Mark-Simulacrum
Port pgo.sh to Python

This PR ports the `pgo.sh` multi stage build file from bash to Python, to make it easier to add new functionality and gather statistics. Main changes:

1) `pgo.sh` rewritten from Bash to Python. Jump from ~200 Bash LOC to ~650 Python LOC. Bash is, unsurprisingly, more concise for running scripts and binaries.
2) Better logging. Each separate stage is now clearly separated in logs, and the logs can be quickly grepped to find out which stage has completed or failed, and how long it took.
3) Better statistics. At the end of the run, there is now a table that shows the duration of the individual stages, along with a percentual ratio of the total workflow run:

```
2023-01-15T18:13:49.9896916Z stage-build INFO: Timer results
2023-01-15T18:13:49.9902185Z ---------------------------------------------------------
2023-01-15T18:13:49.9902605Z Build rustc (LLVM PGO):                 1815.67s (21.47%)
2023-01-15T18:13:49.9902949Z Gather profiles (LLVM PGO):              418.73s ( 4.95%)
2023-01-15T18:13:49.9903269Z Build rustc (rustc PGO):                 584.46s ( 6.91%)
2023-01-15T18:13:49.9903835Z Gather profiles (rustc PGO):             806.32s ( 9.53%)
2023-01-15T18:13:49.9904154Z Build rustc (LLVM BOLT):                1662.92s (19.66%)
2023-01-15T18:13:49.9904464Z Gather profiles (LLVM BOLT):             715.18s ( 8.46%)
2023-01-15T18:13:49.9914463Z Final build:                            2454.00s (29.02%)
2023-01-15T18:13:49.9914798Z Total duration:                         8457.27s
2023-01-15T18:13:49.9915305Z ---------------------------------------------------------
```

A sample run can be seen [here](https://github.com/rust-lang/rust/actions/runs/3923980164/jobs/6707932029).

I tried to keep the code compatible with Python 3.6 and don't use dependencies, which required me to reimplement some small pieces of functionality (like formatting bytes). I suppose that it shouldn't be so hard to upgrade to a newer Python or install dependencies in the CI container, but I'd like to avoid it if it won't be needed.

The code is in a single file `stage-build.py`, so it's a bit cluttered. I can also separate it into multiple files, although having it in a single file has some benefits. The code could definitely be nicer, but I'm a bit wary of introducing a lot of abstraction and similar stuff, as long as the code is stuffed into a single file.

Currently, the Python pipeline should faithfully mirror the bash pipeline one by one. After this PR, I'd like to try to optimize it, e.g. by caching the LLVM builds on S3.

r? `@Mark-Simulacrum`
2023-01-29 22:14:18 +00:00
Mateusz Mikuła
f6ea2ea551 Upgrade mingw-w64 on CI 2023-01-29 13:01:06 +01:00
Jakub Beránek
5b77cb459f
Port pgo.sh to Python 2023-01-24 21:51:01 +01:00
Josh Stone
318d77ddfd ci: add runners for vanilla LLVM 14 and 15 2023-01-18 11:14:40 -08:00
Esteban Küber
f706c3c8f7 Include both md and yaml ICE ticket templates
* Existing compilers link to the md version
* The YAML version field for the backtrace *doesn't let us paste a full backtrace*
* We will need the YAML version in order to be able to submit reports once we start storing the backtrace to disk
2023-01-15 03:33:52 +00:00
Esteban Küber
a1614d0cf8 Use GitHub yaml templates for ICE, Docs and Diagnostics tickets 2023-01-14 01:39:05 +00:00
Albert Larsan
40ba0e84d5
Change src/test to tests in source files, fix tidy and tests 2023-01-11 09:32:13 +00:00
Joshua Nelson
90a10cae4b Revert "Auto merge of #105058 - Nilstrieb:no-merge-commits-for-you-only-bors-is-allowed-to-do-that, r=jyn514"
This reverts commit 4839886f0a, reversing
changes made to ce85c98575.
2022-12-31 01:55:24 +00:00
Nilstrieb
ad9806b73c Checkout master branch in CI 2022-12-30 11:23:01 +01:00
Deadbeef
4566db3359 Run tidy in its own job in PR CI
This duplicates mingw-check into two jobs where one job
runs `tidy` only while the other job does not. The tidy
job will not cancel other jobs on failure.
2022-12-22 17:50:56 +00:00
Rémy Rakic
ae68e1725d Re-enable ThinLTO for rustc on x86_64-apple-darwin dist builds
This reverts commit ddb6fe2e1d.
2022-12-17 21:55:08 +00:00
Rémy Rakic
ddb6fe2e1d Revert "enable ThinLTO for rustc on x86_64-apple-darwin dist builds"
This reverts commit 3a085f7695.
2022-12-13 01:11:54 +00:00
bors
bdb07a8ec8 Auto merge of #103647 - lqd:osx-x64-lto, r=Mark-Simulacrum
Enable ThinLTO for rustc on `x86_64-apple-darwin`

Local measurements seemed to show an improvement on a couple benchmarks, so I'd like to test real CI builds, and see if the builder doesn't timeout with the expected slight increase in build times.

Let's start with x64 rustc ThinLTO, and then figure out the file structure to configure LLVM ThinLTO. Maybe we'll then try `aarch64` builds since that also looked good locally.
2022-12-11 20:38:34 +00:00
bors
657eefe2dc Auto merge of #103591 - lqd:win-lto, r=Mark-Simulacrum
Enable ThinLTO for rustc on x64 msvc

This applies the great work from `@bjorn3` and `@Kobzol` in https://github.com/rust-lang/rust/pull/101403 to x64 msvc.

Here are the local results for the try build `68c5c85ed759334a11f0b0e586f5032a23f85ce4`, compared to its parent `0a6b941df354c59b546ec4c0d27f2b9b0cb1162c`. Looking better than my previous local builds.

![image](https://user-images.githubusercontent.com/247183/198158039-98ebac0e-da0e-462e-8162-95e88345edb9.png)

(I can't show cycle counts, as that option is failing on the windows version of the perf collector, but I'll try to analyze and debug this soon)

This will be the first of a few tests for rustc / llvm / both ThinLTO on the windows and mac targets.
2022-12-11 17:37:12 +00:00
Pietro Albini
fcbae989ae
switch to the macos-12-xl builder 2022-12-03 15:46:18 +01:00
BlackHoleFox
cda219e365 Use XCode 13.4 everywhere in dist CI
Do this because XCode 14 no longer supports a macOS deployment target
of anything before 10.13. We need 10.7+(-ish, really 10.9+) for now.
2022-11-20 14:15:05 -06:00
BlackHoleFox
c46987b7dd Bring back XCode selection CI script
This reverts commit 8514b0097b.
2022-11-19 14:19:00 -06:00
Rémy Rakic
3a085f7695 enable ThinLTO for rustc on x86_64-apple-darwin dist builds 2022-10-27 17:51:18 +00:00
Rémy Rakic
684663ed38 enable ThinLTO for rustc on x86_64-pc-windows-msvc dist builds 2022-10-26 18:18:13 +00:00
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
bors
482153bc20 Auto merge of #99529 - Milo123459:stage-1-test, r=jyn514
Run `x test --stage 1` in CI

Fixes #99135

r? `@jyn514`
2022-07-31 08:03:26 +00: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
Yuki Okushi
e29ab16d96
Add some comments to the docs issue template to clarify
Signed-off-by: Yuki Okushi <jtitor@2k36.org>
2022-07-27 19:09:09 +09: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
Ralf Jung
ff5e5ec71f
Rollup merge of #94831 - yaahc:lib-tracking-issue-template-update, r=JohnTitor
Link to stabilization section in std-dev-guide for library tracking issue template

This shouldn't land until https://github.com/rust-lang/std-dev-guide/pull/32 is merged.
2022-07-03 16:41:53 -04:00
Gimgim
de9b1da22a feat: Add a documentation problem issue template 2022-07-02 20:39:20 +05:30
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
Jane Lusby
dbb22d247f update library tracking issue template 2022-03-10 16:59:08 -08: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
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