about summary refs log tree commit diff
path: root/src/ci/github-actions
AgeCommit message (Collapse)AuthorLines
2022-09-24Auto merge of #98483 - dvtkrlbs:bootstrap-dist, r=jyn514bors-10/+10
Distribute bootstrap in CI This pre-compiles bootstrap from source and adds it to the existing `rust-dev` component. There are two main goals here: 1. Make it faster to build rust from source, both the first time and incrementally 2. Make it easier to add non-python entrypoints, since they can call out to bootstrap directly rather than having to figure out the right flags to pre-compile it. This second part is still in a bit of flux, see the tracking issue below for more information. There are also several changes to make bootstrap able to run on a machine other than the one it was built (particularly around `config.src` and `config.out` detection). I (`@jyn514)` am slightly concerned these will regress unless tested - maybe we should add an automated test that runs bootstrap in a chroot or something? Unclear whether the effort is worth the test coverage. Helps with https://github.com/rust-lang/rust/issues/94829.
2022-09-18Auto merge of #101332 - sashashura:patch-1, r=pietroalbinibors-0/+9
GitHub Workflows security hardening This PR adds explicit [permissions section](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions) to workflows. This is a security best practice because by default workflows run with [extended set of permissions](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#permissions-for-the-github_token) (except from `on: pull_request` [from external forks](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)). By specifying any permission explicitly all others are set to none. By using the principle of least privilege the damage a compromised workflow can do (because of an [injection](https://securitylab.github.com/research/github-actions-untrusted-input/) or compromised third party tool or action) is restricted. It is recommended to have [most strict permissions on the top level](https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions) and grant write permissions on [job level](https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs) case by case.
2022-09-16Remove the allow-list for dynamic linking of LLVM toolsChris Wailes-1/+1
This commit removes an allow-list for the dynamic linking of the LLVM tools and instead relies on the builder's linking preference only.
2022-09-14Distribute bootstrap in CI artifactsTuna-10/+10
- Add a new `bootstrap` component Originally, we planned to combine this with the `rust-dev` component. However, I realized that would force LLVM to be redownloaded whenever bootstrap is modified. LLVM is a much larger download, so split this to get better caching. - Build bootstrap for all tier 1 and 2 targets
2022-09-04Regeneratesashashura-2/+2
2022-09-04add actions: writesashashura-0/+6
2022-09-02Update ci.ymlAlex-0/+3
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
2022-08-27Sunset RLSEric Huss-2/+1
2022-08-20Enable downloading prebuilt LLVM in test buildersMark Rousskov-0/+18
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-14Update the minimum external LLVM to 13Josh Stone-3/+3
2022-08-10Allow old toolchain on images with CUSTOM_MINGWJosh Stone-6/+24
2022-08-01Don't cancel try-perf branch if 'outdated'Ryan Levick-1/+1
2022-07-30dont run stage1 tests in prMilo-4/+1
2022-07-30add to full test-suiteMilo-0/+5
2022-07-20test stage-1 in ciMilo-0/+3
2022-07-11introduce PGO on the `dist-x86_64-msvc` builderRémy Rakic-1/+1
This adds windows-specific behavior into the PGO script, and enables it on CI.
2022-06-05remove azure pipelines configurationPietro Albini-4/+0
2022-04-14update: actions/checkout@v2 to actions/checkout@v3Keita Nonaka-2/+2
update: actions/checkout@v2 to actions/checkout@v3 for all yaml files Revert "update: actions/checkout@v2 to actions/checkout@v3 for all yaml files" This reverts commit 7445e582b900f0f56f5f2bd9036aacab97ef28e9. change GitHub Actions version v2 to v3 change GitHub Actions
2022-03-01Move submodule checkout before msys2 installation.Eric Huss-4/+4
For some reason, `tar` behaves differently in such a way that it does not create symlinks on Windows correctly, resulting in `Cannot create symlink to 'ld.gold': No such file or directory` errors.
2022-02-10Split x86_64 apple builder into twoMark Rousskov-3/+9
2022-01-28Move target-only apple targets to separate builderMark Rousskov-4/+13
2022-01-21Auto merge of #92983 - pietroalbini:pa-bump-runner-images, r=Mark-Simulacrumbors-1/+1
Update Linux runners to Ubuntu 20.04 r? `@Mark-Simulacrum`
2022-01-20add script to prevent point releases with same number as existing onesPietro Albini-0/+4
2022-01-17Disable docs on aarch64-apple-darwin.Eric Huss-0/+1
This builder is the slowest in the fleet. This should cut a considerable amount of time. The manifest should now include the docs from x86_64-apple-darwin. Although those docs are slightly different, it should be close enough. When aarch64-apple-darwin heads towards tier 1, we can revisit whether or not to re-enable the docs.
2022-01-16update linux runners to ubuntu 20.04Pietro Albini-1/+1
2021-12-22Remove VCVARS_BATEric Huss-1/+0
2021-11-13Change paths for `dist` command to match the components they generateJoshua Nelson-1/+1
Before, you could have the confusing situation where the command to generate a component had no relation to the name of that component (e.g. the `rustc` component was generated with `src/librustc`). This changes the name to make them match up.
2021-10-25Move back to linux builder on try buildsMark Rousskov-11/+3
2021-10-24Rollup merge of #90100 - Mark-Simulacrum:speed-macos-ci, r=pietroalbiniMatthias Krüger-2/+14
Skip documentation for tier 2 targets on dist-x86_64-apple-darwin I don't have an easy way to test this locally, but I believe it should work. Based on one log result should shave ~14 minutes off the dist-x86_64-apple builder (doesn't help with aarch64 dist or x86_64 test builder, so not actually decreasing total CI time most likely). r? ```@pietroalbini```
2021-10-24Auto merge of #89776 - rusticstuff:ci-overflow-checks, r=Mark-Simulacrumbors-0/+4
CI: Enable overflow checks for test (non-dist) builds They stay disabled for Apple builds though, which take the most time already due to running on slow hw.
2021-10-22Update the minimum external LLVM to 12Josh Stone-2/+2
2021-10-22Update the minimum external LLVM to 11Josh Stone-2/+2
2021-10-21CI: Enable overflow checks for test (non-dist) buildsHans Kratz-0/+4
2021-10-20[do not merge] try buildMark Rousskov-1/+11
2021-10-20Skip documentation for tier 2 targetsMark Rousskov-1/+3
2021-10-14Selecting the Xcode version no longer needed with the macos-11 runners.Hans Kratz-5/+0
2021-09-10Work around CI issue with windows sdk 10.0.20348.0.Mara Bos-0/+3
2021-08-19CI: Verify commits in beta & stable are in upstream branches.Mukund Lakshman-0/+4
Closes #74721
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