summary refs log tree commit diff
path: root/src/ci
AgeCommit message (Collapse)AuthorLines
2020-12-281.49.0 stable releaseMark Rousskov-1/+1
2020-12-08Mirror centos vault to S3Mark Rousskov-3/+5
2020-11-17this is beta 1.49.0Pietro Albini-1/+1
2020-11-11Linux dist: don't include unique symbols in libLLVMJethro Beekman-1/+2
2020-11-09Rollup merge of #78746 - pietroalbini:i686-freebsd, r=Mark-SimulacrumDylan DPC-37/+7
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 #77016 - Mark-Simulacrum:clippy-tests, r=pietroalbiniDylan DPC-0/+4
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-09Rollup merge of #78228 - pietroalbini:finally, r=Mark-SimulacrumDylan DPC-19/+4
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-07Run tools builder on subtree changesMark Rousskov-0/+4
2020-11-06Add debug asserts to PR builderMark Rousskov-6/+0
This is helpful to catch slightly more bugs before things hit main CI, and doesn't cost too much extra CI time.
2020-11-06Re-enable debug and LLVM assertionsMark Rousskov-31/+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-07Rollup merge of #78666 - sasurau4:fix/shellcheck-error, r=jyn514Yuki Okushi-19/+40
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-06ignore shellcheck error SC2068Daiki Ihara-1/+2
2020-11-06fix shellcheck error of SC2068Daiki Ihara-20/+20
2020-11-06fix shellcheck error of SC1008Daiki Ihara-0/+1
2020-11-06fix shellcheck error of SC2148Daiki Ihara-0/+19
2020-11-05ci: build docs for aarch64-unknown-linux-gnuPietro Albini-2/+1
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-37/+7
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-28ci: update x86_64-gnu and x86_64-gnu-debug to ubuntu:20.04Josh Stone-2/+4
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-24Rollup merge of #78309Mara Bos-1/+1
2020-10-24Use own mirror for linux headers in musl-toolchain CI script.Mara Bos-2/+8
2020-10-23Fix Ubuntu download URLJonas Schievink-1/+1
2020-10-14Update Xcode beta version to allow aarch64-apple-darwin to compile againJake Goulding-1/+1
2020-10-14Rollup merge of #77239 - shepmaster:silicon-ci-plus, r=pietroalbiniYuki Okushi-7/+10
Enable building Cargo for aarch64-apple-darwin r? @ghost
2020-10-13Auto merge of #77762 - pietroalbini:dist-build-manifest, r=Mark-Simulacrumbors-1/+3
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-13Auto merge of #77759 - tblah:fix_riscv_qemu, r=pietroalbinibors-3/+3
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-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-12ci: also build the build-manifest component on dist-x86_64-linuxPietro Albini-1/+3
2020-10-12Auto merge of #75914 - arlosi:aarch64-ci, r=pietroalbinibors-1/+20
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-11Auto merge of #75991 - shepmaster:silicon-ci, r=pietroalbinibors-3/+56
Set up CI for aarch64-apple-darwin
2020-10-09ci: disabled: riscv: work around QEMU regressionTom Eccles-3/+3
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-03Check all Cargo targets on CIMark Rousskov-1/+1
2020-10-02Rollup merge of #77453 - pietroalbini:ci-no-more-azure, r=Mark-SimulacrumJonas Schievink-181/+3
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-02ci: stop running macOS builds on Azure PipelinesPietro Albini-181/+3
2020-10-01ci: switch to environment files to change the environment on GHAPietro Albini-2/+2
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-01Add a cross-compiling aarch64-apple-darwin CI builderJake Goulding-3/+56
2020-09-30Rollup merge of #77280 - petrochenkov:llvmcomp, r=Mark-SimulacrumJonas Schievink-0/+2
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-30Auto merge of #77294 - shepmaster:try-anchors, r=pietroalbinibors-13/+13
Use YAML anchors for try builds r? `@pietroalbini`
2020-09-29Use --host='' instead of --host ''Tyler Mandry-14/+14
Trying to fix a problem in CI. Maybe some version of Docker is not passing '' args correctly?
2020-09-29Ensure that all LLVM components requested by tests are available on CIVadim Petrochenkov-0/+2
2020-09-28Update CI scripts to accommodate --host changeTyler Mandry-15/+15
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/+20
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-19Do not link LLVM tools to LLVM dylib unless rustc isMark Rousskov-7/+0
Previously we would have some platforms where LLVM was linked to rustc statically, but to the LLVM tools dynamically. That meant we were distributing two copies of LLVM: one as a separate dylib and one statically linked in to librustc_driver.
2020-09-18Make sure we build target-only things (e.g., docs) for host platforms tooMark Rousskov-3/+3
2020-09-18Remove duplicate macOS buildersMark Rousskov-36/+0
2020-09-16Auto merge of #76420 - Gelbpunkt:aarch64-linux-musl, r=pietroalbinibors-23/+13
Add aarch64-unknown-linux-musl host builds This adds aarch64-unknown-linux-musl to the hosts list and adds the build to the dist-arm-linux builder as `@Mark-Simulacrum` suggested to me in Zulip. `@jyn514` requested to be mentioned :smile: I had to update the config for crosstool-ng as it had a prompt about the glibc version. I ran `src/ci/docker/run.sh dist-arm-linux` to test it. ``` Build completed successfully in 1:31:50 Compile requests 8180 Compile requests executed 8135 Cache hits 287 Cache misses 7848 Cache timeouts 0 Cache read errors 0 Forced recaches 0 Cache write errors 0 Compilation failures 0 Cache errors 0 Non-cacheable compilations 0 Non-cacheable calls 36 Non-compilation calls 9 Unsupported compiler calls 0 Average cache write 0.000 s Average cache read miss 6.389 s Average cache read hit 0.000 s Cache location Local disk: "/sccache" Cache size 202 MiB Max cache size 10 GiB == clock drift check == local time: Sun Sep 6 19:30:17 UTC 2020 network time: Sun, 06 Sep 2020 19:30:17 GMT == end clock drift check == ``` Only errors were in miri due to struct fields being private (already been reported [here](https://github.com/rust-lang/rust/issues/76337)) Edit: Maybe it is helpful if I add that it is a working compiler ```sh /rust-nightly-aarch64-unknown-linux-musl # ash install.sh install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh install: installing component 'rustc' install: installing component 'cargo' install: installing component 'rls-preview' install: installing component 'rust-analyzer-preview' install: installing component 'clippy-preview' install: installing component 'rustfmt-preview' install: installing component 'llvm-tools-preview' install: installing component 'rust-analysis-aarch64-unknown-linux-musl' install: installing component 'rust-std-aarch64-unknown-linux-musl' install: WARNING: failed to run ldconfig. this may happen when not installing as root. run with --verbose to see the error Rust is ready to roll. / # cat test.rs fn main() { println!("hello world"); } / # rustc test.rs / # ./test hello world # file test test: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, not stripped ```