Commit graph

135 commits

Author SHA1 Message Date
Eric Huss
7cb798c24f Remove aws cli install. 2023-04-28 18:16:34 -07:00
Eric Huss
dd6314f96c Update awscli 2023-04-28 08:30:34 -07:00
bors
e350fe4e60 Auto merge of #109001 - matthiaskrgr:rollup-a3agnwp, r=matthiaskrgr
Rollup of 8 pull requests

Successful merges:

 - #105798 (Relax ordering rules for `asm!` operands)
 - #105962 (Stabilize path_as_mut_os_str)
 - #106085 (use problem matchers for tidy CI)
 - #107711 (Stabilize movbe target feature)
 - #108017 (Add `--no-undefined-version` link flag and fix associated breakage)
 - #108891 (Remove an extraneous include)
 - #108902 (no more do while :<)
 - #108912 (Document tool lints)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
2023-03-11 07:28:44 +00:00
Pietro Albini
9c24608b50
record the cpu usage in a gitignored directory 2023-03-09 13:55:23 +01:00
Deadbeef
ef807cb321 use problem matchers for tidy CI 2023-03-06 07:13:48 +00: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
Mateusz Mikuła
f6ea2ea551 Upgrade mingw-w64 on CI 2023-01-29 13:01:06 +01:00
Albert Larsan
40ba0e84d5
Change src/test to tests in source files, fix tidy and tests 2023-01-11 09:32:13 +00:00
Pietro Albini
04acc1d9dc
disable fast submodule checkout due to spurious ci failures 2023-01-10 16:33:16 +01:00
BlackHoleFox
c46987b7dd Bring back XCode selection CI script
This reverts commit 8514b0097b.
2022-11-19 14:19:00 -06:00
Ralf Jung
9c26fec046 should-skip-this: add missing backslash 2022-10-12 08:19:50 +02:00
Ralf Jung
3d93c3848a run Miri CI when std::sys changes 2022-10-07 14:39:07 +02:00
Ralf Jung
9cc11e262f test Miri changes in PR CI; we no longer need xargo 2022-10-04 17:31:49 +02: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
Matthias Krüger
87dd56f3d6
Rollup merge of #99772 - ehuss:reenable-submodule-archive, r=Mark-Simulacrum
Re-enable submodule archive downloads.

This is effectively a revert of #98423 (though it keeps the `--depth 1` flag since that is still helpful).

GitHub has indicated that they have been working on the original issue, and my testing shows that the llvm-project archive download now succeeds 100% of the time.

This should save about a minute on every job.
2022-08-04 22:25:00 +02:00
Ryan Levick
0942efdb66 Allow try-perf branch to run in CI 2022-07-31 18:53:34 +02:00
Eric Huss
cefaa9faaf Re-enable submodule archive downloads. 2022-07-26 11:53:18 -07:00
Rémy Rakic
94f8ee1f7c bump CI LLVM to 14.0.5
The version 14.0.2 we currently use is busted on windows at the very
least.
2022-07-11 15:20:46 +02:00
Eric Huss
124557c05d Move init_repo.sh to checkout-submodules.sh
checkout-submodules.sh is no longer serving any purpose other than to
run init_repo.
2022-06-23 16:32:15 -07:00
Eric Huss
0143552b2c Remove unused CACHE_DIR in init_repo.
This was used long ago in Travis/Appveyor, but is no longer used.
2022-06-23 13:55:08 -07:00
Pietro Albini
6523ef41da
update comment 2022-06-05 12:32:46 +02:00
Pietro Albini
b926519d32
remove clean-disk script
The script wasn't referenced anywhere, and it's not useful anymore:
/opt/ghc is not present in new images, while /usr/share/dotnet is only
2.3 GB rather than 16 GB.
2022-06-05 12:30:01 +02:00
Pietro Albini
94f2f00939
remove azure pipelines configuration 2022-06-05 12:29:20 +02:00
bors
6dadfc06fe Auto merge of #93717 - pietroalbini:pa-ci-profiler, r=Mark-Simulacrum
Add build metrics to rustbuild

This PR adds a new module of rustbuild, `ci_profiler`, whose job is to gather as much information as possible about the CI build as possible and store it in a JSON file uploaded to `ci-artifacts`. Right now for each step it collects:

* Type name and debug representation of the `Step` object.
* Duration of the step (excluding child steps).
* Systemwide CPU stats for the duration of the step (both single core and all cores).
* Which child steps were executed.

This is capable of replacing both the scripts to collect CPU stats and the `[TIMING]` lines in build logs (not yet removed, until we port our tooling to use the CI profiler). The format is also extensible to be able in the future to collect more information.

r? `@Mark-Simulacrum`
2022-06-05 01:35:03 +00:00
Pietro Albini
836b2d2dbb
fix uploading build metrics on ci 2022-05-22 14:32:22 +02:00
Mark Rousskov
10a5f28ff4 Switch CI bucket to intelligent tiering
We currently upload approximately 166 GB/day into this bucket (estimate based on
duration of storage and total current size). My estimate is that this change
should decrease our costs (which are currently in credits) and is in the worst
case (if all objects are brought into hot storage due to unanticipated frequent
access) only going to add an additional ~$4 to the monthly bill. If access is
rare (as expected) to most objects then we expect to save approximately
~$350/month (after this change takes full effect in ~168 days).
2022-05-08 20:25:33 -04:00
Jakub Beránek
af54244939
Update LLVM version used to build OS X and Windows artifacts to 14.0.2 2022-05-06 18:25:27 +02:00
Pietro Albini
1c009e7e53
enable build.metrics on CI 2022-05-02 21:33:05 +02:00
Guillaume Gomez
c8158e9f40 Run rustdoc GUI tests when browser-ui-test version is updated 2022-03-18 10:50:53 +01:00
Guillaume Gomez
45a3075c56 Run GUI test when browser-ui-test version is updated 2022-03-16 22:22:16 +01:00
Pietro Albini
855c17643a
add script to prevent point releases with same number as existing ones 2022-01-20 21:27:17 +01:00
Hans Kratz
8514b0097b Selecting the Xcode version no longer needed with the macos-11 runners. 2021-10-14 06:10:07 +02:00
Eric Huss
0f4731273a Fix Windows LLVM issue. 2021-09-29 15:27:44 -07:00
Manish Goregaokar
a8e3afe372
Rollup merge of #88699 - Mark-Simulacrum:fixes-cherry-picker, r=pietroalbini
Remove extra unshallow from cherry-pick checker

This is already done by 13db8440bb/src/ci/init_repo.sh (L32-L36) on the beta channel, and git throws an error if you attempt to unshallow an already non-shallow repository.

r? ```@pietroalbini```
2021-09-12 03:44:55 -07:00
Mara Bos
4ab3c117d0 Work around CI issue with windows sdk 10.0.20348.0. 2021-09-10 13:46:15 +02:00
Mark Rousskov
76e09eb87a Do not unshallow -- already done by other code
backport-of: none
2021-09-06 13:17:26 -04:00
Mark Rousskov
21d8d5f881 Bump sccache used in CI to v0.2.15
This skips bumping Windows sccache because we run into compilation failures when
doing so (-m32 not supported by clang-cl?). Not clear on cause, but seems
easiest to just hold back.

This should avoid PGO-related failures encountered on Linux, and more broadly
seems like a good idea on other platforms as well (though it is likely not
necessary right this moment).
2021-08-25 16:26:45 -04:00
Mukund Lakshman
f19ba35bce Add support for including non-backport commits. 2021-08-20 11:58:20 +01:00
Mukund Lakshman
700b64e100 CI: Verify commits in beta & stable are in upstream branches.
Closes #74721
2021-08-19 22:49:52 +01: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
Pietro Albini
0b3653bbdd
migrate cpu-usage-over-time.py to python 3
The only change here is a fix for `sys.platform` on Linux. Python 3.3
changed the API to return "linux" instead of "linux2"/"linux3", so this
commit uses `.startswith("python")` to make the code work on Python 3
without breaking Python 2.
2021-07-06 16:34:51 +02:00
Guillaume Gomez
52f795b772 Also run check in case there are changes in the rustdoc-gui tools 2021-05-26 10:38:08 +02:00
Guillaume Gomez
3994406eca Enforce rustdoc-gui test-suite run 2021-05-26 10:34:19 +02:00
bors
eac3c7c5bd Auto merge of #82208 - jyn514:rustfmt-subtree, r=Mark-Simulacrum
Convert rustfmt from a submodule to a subtree

r? `@calebcartwright` cc `@Manishearth` `@Mark-Simulacrum`

The motivation is that submodule updates cause rustfmt to not be available on nightly a lot; most recently it was unavailable for over 10 days, causing the beta release to be delayed. Additionally this is much less work on the part of the rustfmt maintainers to keep the rustfmt compiling, since now people making breaking changes will be responsible for fixing them.

I kept the rustfmt git history so it looks like there are thousands of commits. The important commits are https://github.com/rust-lang/rust/compare/851dee3af9404bf399c3c4ffefe5105edb3debad~..pull/82208/head. This adds about 10 MB of git history, which is not terribly much compared to the 702 MB that already exist.

- Add `src/tools/rustfmt` to `x.py check`
- Fix CRLF issues with rustfmt tests (see commit for details)
- Use `rustc_private` instead of crates.io dependencies

  This was already switched upstream and would have landed in the next submodule bump anyway. This just updates Cargo.lock for rust-lang/rust.

- Add `yansi-term` to the list of allowed dependencies.

  This is a false positive - rustc doesn't actually use it, only rustfmt, but because it's activated by the cargo feature of a dependency, tidy gets confused. It's fairly innocuous in any case, it's used for color printing.
  This would have happened in the next submodule bump.

- Remove rustfmt from the list of toolstate tools.
- Give a hard error if testing or building rustfmt fails.
-  Update log to 0.4.14

   This avoids a warning about semicolons in macros; see the commit for details.

- Don't add tools to the sysroot when they finish building.

  This is the only change that could be considered a regression - this avoids a "colliding StableCrateId" error due to a bug in resolve (https://github.com/rust-lang/rust/issues/56935). The regression is that this rebuilds dependencies more often than strictly necessary. See the commit for details.

Fixes https://github.com/rust-lang/rust/issues/85226 (permanently). Closes https://github.com/rust-lang/rust/issues/82385. Helps with https://github.com/rust-lang/rust/issues/70651. Helps with https://github.com/rust-lang/rust/issues/80639.
2021-05-15 14:55:56 +00:00
bors
428636f954 Auto merge of #84997 - pietroalbini:ci-verify-channel, r=Mark-Simulacrum
Error out if a PR is sent to the wrong channel

It happened multiple times that a PR meant to go on beta ends up being opened (and occasionally merged) to master. This PR does two things:

* Moves the definition of the channel in `src/ci/channel` so it's easier for tools to read it. I was not sure whether to move it to `src/channel` (like `src/version`): ended up with `src/ci` as it's currently only used for CI, but I'm open to moving it to `src`. We'll need to update the release process after this.
* Adds a check on **non-bors** builds that errors out if the base branch is not the expected one for the currently defined channel. This will not cause problems for promotion PRs, as those PRs are meant to also update the channel name.

r? `@Mark-Simulacrum`
2021-05-15 05:20:49 +00:00
Caleb Cartwright
34368ec2aa ci(should-skip-this): only check commits when skip rule enabled 2021-05-14 21:55:19 -05:00
Joshua Nelson
08c7c61b9d should-skip-this: Check for changes between the master branch, not the previous commit.
The previous commit could be part of the current PR.
2021-05-14 21:55:03 -05:00
Joshua Nelson
56fa9b43c8 Run toolstate jobs when src/tools/rustfmt is modified.
Previously, this would be caught by a change for modified submodules;
now that rustfmt is no longer a submodule, the check needs to be
explicit.
2021-05-14 21:54:53 -05:00
Pietro Albini
a8da3335e6
make verify-channel.sh compatible with macOS 2021-05-12 12:15:39 +02:00
Yuki Okushi
326fec27a6
Rollup merge of #84911 - Mark-Simulacrum:retry-clang, r=pietroalbini
Retry clang+llvm download

We've been seeing a pretty high rate of spurious network failures (e.g., openssl
connection reset by peer). Not clear why, but let's add a retry.

r? `@pietroalbini`
2021-05-07 15:20:28 +09:00