about summary refs log tree commit diff
path: root/src/ci/github-actions
AgeCommit message (Collapse)AuthorLines
2021-08-01Auto merge of #85782 - badboy:build-ios-sim-target, r=Mark-Simulacrumbors-1/+1
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-07-28add CI_ONLY_WHEN_CHANNEL and run x86_64-gnu-stable only on nightlyPietro Albini-0/+4
2021-07-08Build aarch64-apple-ios-sim as part of the full macOS buildJan-Erik Rediger-1/+1
2021-06-07add the x86_64-gnu-stable job to test with stable channelPietro Albini-0/+11
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-05-06ci: error out if someone sends a PR to the wrong branchPietro Albini-0/+4
2021-03-22Update the minimum external LLVM to 10Josh Stone-2/+2
2021-03-16use checkout@v2klensy-1/+1
2021-02-26fix env var nameklensy-1/+1
2021-02-05Don't release Miri if its tests only failed on Windowshyd-dev-0/+1
2020-11-12Bumped minimal tested LLVM version to 9DevJPM-2/+2
This bumps the minimal tested llvm version to 9. This should enable supporting newer LLVM features (and CPU extensions).
2020-11-09Rollup merge of #78746 - pietroalbini:i686-freebsd, r=Mark-SimulacrumDylan DPC-3/+0
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-09Rollup merge of #78228 - pietroalbini:finally, r=Mark-SimulacrumDylan DPC-17/+3
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-06Re-enable debug and LLVM assertionsMark Rousskov-18/+0
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-05ci: gate on aarch64-gnu passing testsPietro Albini-17/+3
2020-11-05ci: bump actions/checkout to version 2Pietro Albini-1/+1
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-04ci: demote i686-unknown-freebsd to tier 2 compiler targetPietro Albini-3/+0
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-10-14Update Xcode beta version to allow aarch64-apple-darwin to compile againJake Goulding-1/+1
2020-10-12Configure jemalloc for cross-compilation to aarch64-apple-darwinJake Goulding-0/+8
2020-10-12Enable building Cargo for aarch64-apple-darwinJake Goulding-7/+2
2020-10-12Auto merge of #75914 - arlosi:aarch64-ci, r=pietroalbinibors-1/+13
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-01Add a cross-compiling aarch64-apple-darwin CI builderJake Goulding-0/+32
2020-09-28Use an anchor for the try buildJake Goulding-3/+3
2020-09-28Move the try builder below the auto buildersJake Goulding-12/+12
This allows us to make use of a YAML anchor when specifying the try builder config.
2020-09-25Adds a GitHub Actions CI build for aarch64-pc-windows-msvc via ↵Arlo Siemsen-1/+13
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-18Make sure we build target-only things (e.g., docs) for host platforms tooMark Rousskov-2/+2
2020-09-18Remove duplicate macOS buildersMark Rousskov-36/+0
2020-09-15ci: gate macOS on GHA tooPietro Albini-51/+73
2020-09-12Add host= configuration for msvc/darwinMark Rousskov-2/+4
2020-09-04Enable profiler tests on Windows-gnuMateusz Mikuła-2/+2
2020-08-29Auto merge of #74922 - joshtriplett:ninja-by-default, r=Mark-Simulacrumbors-3/+3
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-28ci: run cancel-outdated-builds after fully setting up the envPietro Albini-9/+9
2020-08-27ci: disable cancel-outdated-builds for auto-falliblePietro Albini-1/+15
2020-08-26Disable ninja on macOS CIJosh Triplett-3/+3
Should be re-enabled when we have a recipe for installing ninja on macOS.
2020-08-20Remove the full-bootstrap builder from CIYuki Okushi-3/+0
2020-08-11Update MinGW comments in ci.ymlMateusz Mikuła-5/+7
2020-08-04ci: disable fail-fast on auto-falliblePietro Albini-0/+1
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-02Auto merge of #74675 - pietroalbini:aarch64-ci-fallible, r=Mark-Simulacrumbors-0/+10
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-07-28Use --stage 2 in checktoolsJoshua Nelson-1/+1
- Remove useless --stage 2 argument to checktools.sh - Fix help text for expand-yaml-anchors (it had a typo)
2020-07-27Use --stage 2 explicitly in CIJoshua Nelson-3/+3
- expand yaml anchors - don't use --stage 2 for dist; that's already the default
2020-07-23ci: add aarch64-gnu as a fallible auto builderPietro Albini-0/+10
2020-07-22Enable perf try builderMark Rousskov-3/+4
This adds a dedicated branch for perf to use for CI, intended to allow perf to enqueue builds without needing to use bors. bors is great, but bors requires an open PR to work, and we want to invoke perf on closed PRs sometimes (in particular, rollups).
2020-07-20ci: upload non-macOS from GHA instead of Azure PipelinesPietro Albini-4/+19
2020-07-20ci: allow RLA to pick the right PR numberPietro Albini-0/+9
2020-07-17ci: Replace exec-with-shell wrapper with "plain bash"Kristofer Rye-15/+4
Also, promote defaults.run.shell from inside only the primary jobs to the top level. The src/ci/exec-with-shell.py wrapper script was formerly used to change out the shell mid-job by intercepting a CI_OVERRIDE_SHELL environment variable. Now, instead, we just set `bash` as the global default across all jobs, and we also delete the exec-with-shell.py script. Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2020-07-16ci: Set `shell: bash` as a default, remove duplicatesKristofer Rye-20/+3
A follow-up to #74406, this commit merely removes the `shell: bash` lines where they are explicitly added in favor of setting defaults for *all* "run" steps. Signed-off-by: Kristofer Rye <kristofer.rye@gmail.com>
2020-07-16Set shell for github actions CIMark Rousskov-0/+20
2020-07-15Rollup merge of #72973 - msizanoen1:riscv-host, r=pietroalbiniManish Goregaokar-0/+3
RISC-V GNU/Linux as host platform This PR add a new builder named `dist-riscv64-linux` that builds the compiler toolchain for RISC-V 64-bit GNU/Linux. r? @alexcrichton
2020-07-15Auto merge of #71272 - jclulow:illumos-x86-ci, r=pietroalbinibors-0/+3
build dist for x86_64-unknown-illumos This change creates a new Docker image, "dist-x86_64-illumos", and sets things up to build the full set of "dist" packages for illumos hosts, so that illumos users can use "rustup" to install packages. It also adjusts the manifest builder to expect complete toolchains for this platform.
2020-07-11RISC-V GNU/Linux as host platformmsizanoen1-0/+3
2020-07-10ci: allow gating gha on everything but macOSPietro Albini-36/+45
In our GitHub Actions setup macOS is too unreliable to gate on it, but the other builders work fine. This commit splits the macOS builders into a separate job (called auto-fallible), allowing us to gate on the auto job without failing due to macOS spurious failures.