Commit Graph

227 Commits

Author SHA1 Message Date
bors
3932c87718 Auto merge of #116950 - cuviper:ci-llvm-17, r=Mark-Simulacrum
ci: add a runner for vanilla LLVM 17

For CI cost, this can be seen as replacing the llvm-14 runner we dropped in #114148.

Also, I've set `IS_NOT_LATEST_LLVM` in the llvm-16 runner, since that's not the latest anymore.
2023-10-22 06:15:18 +00:00
Josh Stone
5f86fe96d8 ci: add a runner for vanilla LLVM 17 2023-10-19 10:47:18 -07:00
Jake Goulding
821b03d767 Use GitHub Actions M1 builder for aarch64-apple-darwin
Additionally, this enables

1. building the documentation
2. Setting `rust.lto` to `thin` to match the x86_64 build
2023-10-09 20:40:32 -04:00
Jake Goulding
2bf3004f33 Install awscli on the aarch64-apple-darwin builder
Unlike the other builders, this one doesn't come with it preinstalled.
2023-10-09 19:02:03 -04:00
bors
fdf32ee9fc Auto merge of #116450 - Kobzol:automation-try-bors-ci, r=Mark-Simulacrum
Enable new bors try branch to run on CI

Needed to fix [this error](https://github.com/rust-lang/rust/actions/runs/6420044833/job/17431256956). Inspired by https://github.com/rust-lang/rust/pull/99988

Also, removes `try-merge` from the workflow. It shouldn't have been added in https://github.com/rust-lang/rust/pull/116353.

r? `@Mark-Simulacrum`
2023-10-08 01:48:31 +00:00
Jakub Beránek
098dd97939 Remove try-merge from CI workflow 2023-10-05 16:13:52 +02:00
bors
2ffeb4636b Auto merge of #116381 - Mark-Simulacrum:drop-wasm32-unknown-emscripten, r=Kobzol
Remove wasm32-unknown-emscripten tests from CI

This builder tested the wasm32-unknown-emscripten target, which is tier 2 (and so not eligible for testing). In the recent beta [promotion](https://github.com/rust-lang/rust/pull/116362#issuecomment-1744960904), we ran into a problem with this target: emscripten doesn't support passing environment variables into the std environment, so we can't enable RUSTC_BOOTSTRAP for libtest in order to pass -Zunstable-options.

We worked around this for the beta/stable branches, but given this problem, and its tier 2 status, just dropping the target's tests entirely seems warranted. Downgrading to tier 3 may also be a good idea, but that is a separate conversation not proposed here.
2023-10-04 14:17:57 +00:00
Mark Rousskov
c0a42cc7bd Drop the wasm32 builder
This builder tested the wasm32-unknown-emscripten target, which is tier
2 (and so not eligible for testing). In the recent beta promotion, we
ran into a problem with this target: emscripten doesn't support
passing environment variables into the std environment, so we can't
enable RUSTC_BOOTSTRAP for libtest in order to pass -Zunstable-options.

We worked around this for the beta/stable branches, but given this
problem, and its tier 2 status, just dropping the target's tests
entirely seems warranted. Downgrading to tier 3 may also be a good idea,
but that is a separate conversation not proposed here.
2023-10-03 09:30:49 -04:00
Jakub Beránek
76b70eb033
Add new bors try branches to CI 2023-10-02 21:38:50 +02:00
Jakub Beránek
be50413ef0
Add integration for new bors 2023-09-28 10:43:24 +02:00
bors
42ca6e4e57 Auto merge of #104385 - BlackHoleFox:apple-minimum-bumps, r=petrochenkov
Raise minimum supported Apple OS versions

This implements the proposal to raise the minimum supported Apple OS versions as laid out in the now-completed MCP (https://github.com/rust-lang/compiler-team/issues/556).

As of this PR, rustc and the stdlib now support these versions as the baseline:
- macOS: 10.12 Sierra
- iOS: 10
- tvOS: 10
- watchOS: 5 (Unchanged)

In addition to everything this breaks indirectly, these changes also erase the `armv7-apple-ios` target (currently tier 3) because the oldest supported iOS device now uses ARMv7s. Not sure what the policy around tier3 target removal is but shimming it is not an option due to the linker refusing.

[Per comment](https://github.com/rust-lang/compiler-team/issues/556#issuecomment-1297175073), this requires a FCP to merge. cc `@wesleywiser.`
2023-09-24 02:35:05 +00:00
BlackHoleFox
58bbca958d Raise minimum supported macOS to 10.12 2023-09-23 19:14:25 -05:00
Matthias Krüger
0d0f4fd8a3
Rollup merge of #115663 - Gumichocopengin8:ci/update-github-action, r=Mark-Simulacrum
ci: actions/checkout@v3 to actions/checkout@v4

- Bump `actions/checkout` from v3 to v4 since v3 uses Node v16 whose support lasts until `11 Sep 2023` [Ref](https://endoflife.date/nodejs)
  - https://github.com/actions/checkout/releases/tag/v4.0.0
2023-09-18 18:27:19 +02:00
Jakub Beránek
f17047bc90
Refactor Environment 2023-09-12 19:33:41 +02:00
Keita Nonaka
35605299ac
ci: actions/checkout@v3 to actions/checkout@v4 2023-09-07 22:18:21 -07:00
Eric Huss
889b55bb25 Remove apple-alt dist build. 2023-08-20 08:34:41 -07:00
Guillaume Gomez
d868276443
Rollup merge of #114625 - klensy:ci-pr-workers, r=Mark-Simulacrum
CI: use smaller machines in PR runs

mingw-check job-linux-16c -> job-linux-4c
~job-linux-4c 20 min in auto job
~job-linux-16c 13 min in pr job
with current pr regressed to almost 21 min, it's ok.

mingw-check-tidy job-linux-16c -> job-linux-4c small enough, so reduce to minimal
~ job-linux-16c 3 min
with current pr regressed to almost 5 min, it's ok.

x86_64-gnu-tools job-linux-16c this is top job by time in PR, so don't touch it
~ job-linux-8c 1.30 hour in auto job
~ job-linux-16c 1 hour in pr job (affected by #114613, actual time ~ 30 min)

x86_64-gnu-llvm-15 job-linux-16c don't change too
~ job-linux-8c 1.30 hour in auto job
~ job-linux-16c 30 min in pr job

Noticed while working on https://github.com/rust-lang/rust/pull/114621, so current time affected by always rebuilded docker images (but pr images always rebuilded before too, so nvm)
2023-08-13 21:00:46 +02:00
bors
abc910be6f Auto merge of #114001 - meysam81:issue-111894-fix, r=clubby789
fix(bootstrap): rename exclude flag to skip 🐛

fixes #111894
2023-08-10 04:36:51 +00:00
Matthias Krüger
095619aadf
Rollup merge of #113586 - compiler-errors:style, r=joshtriplett
Mention style for new syntax in tracking issue template

`@rust-lang/style` would like the specification of new syntax in the style guide to be part of the feature stabilization process, in order to avoid situations where new syntax is stabilized and it never has style specified or formatting implemented for it. This most recently occurred with [let-else](https://blog.rust-lang.org/2023/07/01/rustfmt-supports-let-else-statements.html). We've made a lot of progress with the [nightly style procedure](https://github.com/rust-lang/style-team/blob/master/nightly-style-procedure.md) to unblock rustfmt from experimenting with formatting for new syntax, and T-style's existence means we actually have people who are willing and qualified to make decisions about formatting specification.

This check-box should also perhaps include "formatting support implemented in rustfmt", but that's really up to `@rust-lang/rustfmt,` so I'm not volunteering them for any new responsibilities in this PR just yet.

Putting this up mostly to discuss with T-lang, though feedback welcome from anyone.

---

As more of an implementation detail: alternatively, instead of a this could be just added to the existing rustc-dev-guide chapter(s) on stabilization.

r? `@ghost`
2023-08-08 21:44:43 +02:00
klensy
524572df7a use smaller machines in CI PR runs 2023-08-08 17:07:37 +03:00
Meysam Azad
0b16456efa
fix(bootstrap): rename exclude flag to skip 🐛 2023-08-06 14:29:36 +07:00
bors
fe90d7dfcd Auto merge of #113854 - klensy:aarch64-msvc-remove-hack, r=Mark-Simulacrum
aarch64-msvc: remove CI hack for bad Windows SDK version

This removes hack which manually replaced windows sdk version, as it looks like useless now, as CI uses newer version: https://github.com/rust-lang-ci/rust/actions/runs/5596259246/jobs/10233070602#step:24:929
`C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_io.h` (look at version)

related https://github.com/rust-lang/rust/issues/88796

It's nice to have some way to assert bad version, but i don't see anything except checking env https://github.com/rust-lang/cc-rs/pull/646
2023-08-01 17:58:02 +00:00
Josh Stone
190ded8443 Update the minimum external LLVM to 15 2023-07-27 14:07:08 -07:00
klensy
e947bd705f remove hack, now CI uses (currently latest) SDK 10.0.22621.0
See https://github.com/rust-lang-ci/rust/actions/runs/5596259246/jobs/10233070602#step:24:929  C:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt\corecrt_io.h
2023-07-19 13:49:46 +03:00
Michael Goulet
23a5c0a663 Mention style for new syntax in tracking issue template 2023-07-11 19:51:51 +00:00
Jakub Beránek
8e0a87bdf4
CI: use macos-13 runner for Apple jobs 2023-07-10 20:22:15 +02:00
Jakub Beránek
91d2fb2e2b
Port PGO/LTO/BOLT optimized build pipeline to Rust 2023-07-09 08:39:50 +02:00
Matthias Krüger
e0b290f1a8
Rollup merge of #113173 - Kobzol:ci-concurrency-group-workflow, r=pietroalbini
CI: include workflow name in concurrency group

Currently, this won't change anything, because we only have one relevant workflow (`CI`), but for future proofing we should probably include the workflow name in the concurrency group.

Found by ``@klensy`` [here](https://github.com/rust-lang/rust/pull/113059#discussion_r1247213606).
2023-07-08 15:49:45 +02:00
bors
06082086b4 Auto merge of #112796 - Kobzol:ci-merge-msvc-cargo-tools, r=pietroalbini
CI: merge msvc cargo and tools jobs

The `x86_64-msvc-cargo` and `x86_64-msvc-tools` jobs both run for ~1 hour, but most of that time is actually spent in building LLVM and `rustc`, so I want to try merging them.
![image](https://github.com/rust-lang/rust/assets/4539057/8652fa2a-b8b7-41d0-8f16-555d31acd9a5)
2023-07-07 00:39:47 +00:00
bors
87c8c83ec7 Auto merge of #112779 - Kobzol:ci-merge-llvm-14, r=pietroalbini
CI: merge x86_64-gnu-llvm-14 and x86_64-gnu-llvm-14-stage1 CI jobs

Another attempt to shorten CI job times. Suggested by `@the8472` [here](https://rust-lang.zulipchat.com/#narrow/stream/242791-t-infra/topic/CI.20usage/near/367172221).
2023-07-06 16:14:50 +00:00
Jubilee Young
634f95295f Remove MIPS host CI workflows 2023-07-02 22:04:46 -07:00
Jakub Beránek
f88024627b
CI: include workflow name in concurrency group
Currently, this won't change anything, because we only have one relevant workflow (`CI`), but for future proofing we should probably include the workflow name in the concurrency group.
2023-06-30 00:08:38 +02:00
Jakub Beránek
32428ab5f3
CI: do not cancel concurrent builds on the same branch
Add an exception for try and try-perf branches to enable concurrent try builds and unrolled rollup builds.
2023-06-29 14:52:52 +02:00
Jakub Beránek
7fb559353e
CI: do not cancel concurrent builds on the same branch
Instead, only cancel them if the builds have the same commit SHA.
2023-06-26 16:40:12 +02:00
Matthias Krüger
5d9935a638
Rollup merge of #112955 - Kobzol:ci-pr-cancel-workflows, r=Mark-Simulacrum
CI: cancel in-progress workflow runs after a push

Experimenting with the `concurrency` attribute.

r? `@Mark-Simulacrum`
2023-06-26 11:58:45 +02:00
Jakub Beránek
e8973eac12
Remove cancel-outdated action 2023-06-25 16:01:01 +02:00
Jakub Beránek
cb06c973c7
CI: do not run Bump dependencies workflow on forks 2023-06-25 15:55:27 +02:00
Matthias Krüger
5a0c8e3a08 issue template: add clippy entry which points to the clippy repo 2023-06-23 18:54:19 +02:00
Jakub Beránek
3c2b8b06fc Cancel in-progress workflow runs after a push 2023-06-23 11:22:56 +02:00
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