Commit Graph

1000 Commits

Author SHA1 Message Date
David Wood fb75c329c5 ci: use 20.04 on x86_64-gnu-nopt builder
This commit switches the x86_64-gnu-nopt builder to use Ubuntu 20.04,
which contains a more recent gdb version than Ubuntu 16.04 (newer gdb
versions fix a bug that Split DWARF can trigger, see
rust-lang/rust#77177 for motivation). x86_64-gnu-nopt is chosen because
it runs compare modes, which is how Split DWARF testing is implemented
in rust-lang/rust#77177.

Signed-off-by: David Wood <david@davidtw.co>
2020-12-10 15:04:48 +00:00
Sreehari S 7e00222aab add enable-full-tools to freebsd builds to prevent occasional link errors when compiling rust programs 2020-11-27 14:21:23 -08:00
Mark Rousskov 457329a77b Mirror centos vault to S3 2020-11-25 22:01:15 -05:00
Lzu Tao 6bfe27a3e0 Drop support for cloudabi targets 2020-11-22 17:11:41 -05:00
DevJPM b8f682b5e2 Fixed missing / bad header when cross-compiling to i686
It seems that by default the 32-bit headers are not actually installed
when installing development tooling. As we're using gcc headers,
we need to install them as an extra package.

See for reference:
- https://stackoverflow.com/a/54082790
- https://askubuntu.com/a/106092

Also removed the now unused arm tooling
2020-11-15 14:56:18 +01:00
DevJPM a015c21f16 Applied LLVM 9 fixes to LLVM 9 PR CI Dockerfile
Now with LLVM 9 being the minimum supported version, we can
finally remove the hacks in the dockerfile.

This wasn't in the main PR bumping the version as I didn't quite
understand what's going on and needed here.
2020-11-15 13:17:59 +01:00
DevJPM 63235651e8 explicitly add llvm-9-dev in dockerfile
apparently llvm-8-tools already had llvm-8-dev as a dependency
which was removed in llvm-9-tools, so we need to explicitly pull
llvm-9-dev to make a build
2020-11-12 14:39:47 +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
Jethro Beekman d2ad47269b Linux dist: don't include unique symbols in libLLVM 2020-11-11 14:46:04 +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 391136ed58 Rollup merge of #77016 - Mark-Simulacrum:clippy-tests, r=pietroalbini
Test clippy on PR CI on changes

This runs the tools builder (which builds and tests tools, including clippy) when the clippy submodule changes. This essentially returns us to the prior state when clippy was a submodule; it makes sense for us to test it on CI when it changes. It might make sense for it to be tested regardless of changing but it is somewhat rare for it to fail and we don't want to add to CI time for the majority of PRs which don't affect it.

Fixes #76999.
2020-11-09 19:06:42 +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 d847299674 Run tools builder on subtree changes 2020-11-07 21:26:42 -05:00
Mark Rousskov 3ca882986b Add debug asserts to PR builder
This is helpful to catch slightly more bugs before things hit main CI, and
doesn't cost too much extra CI time.
2020-11-06 14:32:14 -05: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
Yuki Okushi 7931b2454d Rollup merge of #78666 - sasurau4:fix/shellcheck-error, r=jyn514
Fix shellcheck error

## Overview

Helps with #77290

This pr fix only errors of shellcheck, the result of `git ls-files '*.sh' | xargs shellcheck --severity=error`.

Fixing error are following.

- https://github.com/koalaman/shellcheck/wiki/SC2148
- https://github.com/koalaman/shellcheck/wiki/SC1008

Disable error following.
- https://github.com/koalaman/shellcheck/wiki/SC2068
2020-11-07 01:02:14 +09:00
Daiki Ihara 5ea028ef76 ignore shellcheck error SC2068 2020-11-06 20:33:12 +09:00
Daiki Ihara a1af001a55 fix shellcheck error of SC2068 2020-11-06 20:33:12 +09:00
Daiki Ihara ce4c124292 fix shellcheck error of SC1008 2020-11-06 20:33:12 +09:00
Daiki Ihara f197da655f fix shellcheck error of SC2148 2020-11-06 20:33:12 +09:00
Pietro Albini 874cbb88e0 ci: build docs for aarch64-unknown-linux-gnu 2020-11-05 11:54:32 +01: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
Josh Stone d9cbd192eb ci: update x86_64-gnu and x86_64-gnu-debug to ubuntu:20.04
The former `ubuntu:19.10` reached EOL in July, 2020, whereas
`ubuntu:20.04` is an LTS release supported until 2025.

These are non-dist CI images, so the impact should be low.
2020-10-28 17:26:03 -07:00
Mara Bos 76e51b8987 Rollup merge of #78309 2020-10-24 11:17:02 +02:00
Mara Bos 21bd9eea74 Use own mirror for linux headers in musl-toolchain CI script. 2020-10-24 11:16:53 +02:00
Jonas Schievink f3265fec7a Fix Ubuntu download URL 2020-10-23 23:52:06 +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 16612a9292 Rollup merge of #77239 - shepmaster:silicon-ci-plus, r=pietroalbini
Enable building Cargo for aarch64-apple-darwin

r? @ghost
2020-10-14 06:02:12 +09:00
bors d772879df3 Auto merge of #77762 - pietroalbini:dist-build-manifest, r=Mark-Simulacrum
Dist build manifest

This PR makes two changes that should remove a significant chunk of the time spent in our release process: cloning the `rust-lang/rust` monorepo, all its submodules, and building `bootstrap` to then invoke `build-manifest`:

* `build-manifest` doesn't rely on a clone of the monorepo being present anymore. The only remaining bit of information it fetched from it (the Rust version) is instead bundled in the binary.
* A new "component" is added, `build-manifest`. That component includes a prebuilt version of the tool, and it's *not* included in the Rustup manifest. This will allow `promote-release` to directly invoke the tool without interacting with our build system.
* The Linux x86_64 CI is changed to also build the component mentioned above. It's the only CI builder tasked to do so, and to cleanly support this a new `--include-default-paths` flag was added to `./x.py`.
* The `BUILD_MANIFEST_NUM_THREADS` environment variable is added to configure the number of threads at runtime.

This PR is best reviewed commit-by-commit.
r? `@Mark-Simulacrum`
2020-10-13 12:11:47 +00:00
bors e8529c79cc Auto merge of #77759 - tblah:fix_riscv_qemu, r=pietroalbini
ci: Fix riscv64gc linux test QEMU fault, plus doc link fix

Newer versions of the `qemu` package (used for riscv64gc-unknown-linux-gnu testing) don't work with the version of the RISC-V bootloader we were using. https://github.com/rust-lang/rust/commit/a4a0342cf59a1bff43ed79586065eb97dba0cddb  bumps to a revision which should fix the problem.

https://github.com/rust-lang/rust/commit/e0b033e965a7d422da70a409a028af7c8b64e709 fixes a documentation failure I encountered while running the tests.
2020-10-13 08:27:01 +00: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
Pietro Albini 24d04ccd39 ci: also build the build-manifest component on dist-x86_64-linux 2020-10-12 19:53:26 +02: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
bors 576e2277ac Auto merge of #75991 - shepmaster:silicon-ci, r=pietroalbini
Set up CI for aarch64-apple-darwin
2020-10-11 23:23:48 +00:00
Tom Eccles a4a0342cf5 ci: disabled: riscv: work around QEMU regression
This bumps the version of the bbl bootloader not to perform 64-bit
accesses to the PLIC. Doing so resulted in the QEMU test machine to fail
to boot:

bbl loader
../machine/mtrap.c:21: machine mode: unhandlable trap 7 @ 0x0000000080001f6e
Power off

Signed-off-by: Tom Eccles <tom.eccles@codethink.co.uk>
2020-10-09 16:11:18 +01:00
Mark Rousskov bcab97c12e Check all Cargo targets on CI 2020-10-03 09:53:13 -04:00
Jonas Schievink 0c5f0b1c69 Rollup merge of #77453 - pietroalbini:ci-no-more-azure, r=Mark-Simulacrum
Stop running macOS builds on Azure Pipelines

The Infrastructure Team agreed to migrate macOS builds to GitHub Actions, so this commit stops running those builders on Azure Pipelines. The GitHub Actions runners are already configured to upload to the production bucket.

We can't still fully remove the Azure Pipelines configuration, as we still need to have that available until no stable releases run any of their builds on Azure Pipelines anymore. I'll open an issue to track fully removing our Azure Pipelines setup once the PR is merged.

r? @Mark-Simulacrum
2020-10-02 20:27:18 +02:00
Pietro Albini b9070f3fd4 ci: stop running macOS builds on Azure Pipelines 2020-10-02 16:15:05 +02:00
Pietro Albini b710f9c5d5 ci: switch to environment files to change the environment on GHA
See GitHub's blog post on why the change was necessary:

    https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/
2020-10-01 19:26:50 +02:00
Jake Goulding 225ec813a9 Add a cross-compiling aarch64-apple-darwin CI builder 2020-10-01 07:53:38 -04:00
Jonas Schievink a4dc8dae02 Rollup merge of #77280 - petrochenkov:llvmcomp, r=Mark-Simulacrum
Ensure that all LLVM components requested by tests are available on CI

Addresses https://github.com/rust-lang/rust/pull/75064#issuecomment-667722652

I used an environment variable because passing a command line option all the way from CI to compiletest would be just too much hassle for this task.
I added a new variable, but any of the already existing ones defined by CI could be used instead.
r? @Mark-Simulacrum
2020-09-30 20:56:09 +02:00
bors 12f667fac3 Auto merge of #77294 - shepmaster:try-anchors, r=pietroalbini
Use YAML anchors for try builds

r? `@pietroalbini`
2020-09-30 07:57:48 +00:00
Tyler Mandry 63eaa60294 Use --host='' instead of --host ''
Trying to fix a problem in CI. Maybe some version of Docker is not
passing '' args correctly?
2020-09-29 20:13:52 +00:00
Vadim Petrochenkov 9340ee4380 Ensure that all LLVM components requested by tests are available on CI 2020-09-29 11:42:27 +03:00
Tyler Mandry ed975054aa Update CI scripts to accommodate --host change 2020-09-28 20:15:43 +00:00
Jake Goulding 630e353101 Use an anchor for the try build 2020-09-28 07:45:39 -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