-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #5088 - rust-lang:gha, r=<try>
[WIP][DNM] Switch to GitHub Actions - Part 2 - From within This is a continuation of #5071. This time from a branch inside the rust-lang/rust-clippy repo, not from my fork, since secrets are not available in PRs from forks. Copying the description of #5071 to here: Closes #4577 ~~This is just an experiment. I don't think we have a consensus _if_ we should move away from travis/appveyor.~~ We have consensus: #5071 (comment) ~~GHA would let us run up to 20 concurrent jobs. Since we have 15 integration tests and 4 (linux, linux 32-bit, macos, windows) basic tests, we would be able to run everything concurrently.~~ The org has a limit of 60 jobs across the org, so we limit the matrix of the integration tests to 6 concurrent jobs. ~~Also IIUC we only have to build Clippy once for every initegration test and then only check the repos.~~ Nope, dependent jobs exist, but they won't keep the artifacts (not even the checkout). TODO before merge: - [x] Add `DEPLOY_KEY` secret to github repo - [x] test deployment on test branch `gh-test`# - [x] Test normal deployment - [x] Test deployment no changes - [x] Test deployment of tag - [x] talk with `@rust-lang/infra` for bors, `@rust-lang/infra` is good with the move (crater also uses GHA+bors) - [x] ~~Get remark + clippy_dev check to work on pushes (https://git.luolix.topmunity/t5/GitHub-Actions/~Builds-are-not-triggered-with-on-paths/m-p/44075; I contacted GH support about this)~~ That seems to start working again yesterday 🤔 Let's hope it keeps working. - [ ] impl homu checks for GHA #5071 (comment) - [ ] Add GHA badge to Cargo.toml (blocked on `rust-lang/crates.io#1838`) - [ ] Add back travis + appveyor files for transition period (?) changelog: none
- Loading branch information
Showing
26 changed files
with
692 additions
and
460 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#! /bin/bash | ||
|
||
set -ex | ||
|
||
# Check sysroot handling | ||
sysroot=$(./target/debug/clippy-driver --print sysroot) | ||
test "$sysroot" = "$(rustc --print sysroot)" | ||
|
||
if [[ ${OS} == "Windows" ]]; then | ||
desired_sysroot=C:/tmp | ||
else | ||
desired_sysroot=/tmp | ||
fi | ||
sysroot=$(./target/debug/clippy-driver --sysroot $desired_sysroot --print sysroot) | ||
test "$sysroot" = $desired_sysroot | ||
|
||
sysroot=$(SYSROOT=$desired_sysroot ./target/debug/clippy-driver --print sysroot) | ||
test "$sysroot" = $desired_sysroot | ||
|
||
# Make sure this isn't set - clippy-driver should cope without it | ||
unset CARGO_MANIFEST_DIR | ||
|
||
# Run a lint and make sure it produces the expected output. It's also expected to exit with code 1 | ||
# FIXME: How to match the clippy invocation in compile-test.rs? | ||
./target/debug/clippy-driver -Dwarnings -Aunused -Zui-testing --emit metadata --crate-type bin tests/ui/cstring.rs 2> cstring.stderr && exit 1 | ||
sed -e "s,tests/ui,\$DIR," -e "/= help/d" cstring.stderr > normalized.stderr | ||
diff normalized.stderr tests/ui/cstring.stderr | ||
|
||
# TODO: CLIPPY_CONF_DIR / CARGO_MANIFEST_DIR |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
name: Clippy Test | ||
|
||
on: | ||
push: | ||
# Ignore bors branches, since they are covered by `clippy_bors.yml` | ||
branches-ignore: [auto, try] | ||
# Don't run Clippy tests, when only textfiles were modified | ||
paths-ignore: | ||
- 'COPYRIGHT' | ||
- 'LICENSE-*' | ||
- '**.md' | ||
- '**.txt' | ||
pull_request: | ||
# Don't run Clippy tests, when only textfiles were modified | ||
paths-ignore: | ||
- 'COPYRIGHT' | ||
- 'LICENSE-*' | ||
- '**.md' | ||
- '**.txt' | ||
|
||
env: | ||
RUST_BACKTRACE: 1 | ||
CARGO_TARGET_DIR: '${{ github.workspace }}/target' | ||
GHA_CI: 1 | ||
|
||
jobs: | ||
base: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: rust-lang/simpleinfra/github-actions/cancel-outdated-builds@master | ||
with: | ||
github_token: "${{ secrets.github_token }}" | ||
- name: rust-toolchain | ||
uses: actions-rs/toolchain@v1.0.3 | ||
with: | ||
toolchain: nightly | ||
target: x86_64-unknown-linux-gnu | ||
profile: minimal | ||
- name: Cache cargo dir | ||
uses: actions/cache@v1 | ||
with: | ||
path: ~/.cargo | ||
key: ${{ runner.os }}-x86_64-unknown-linux-gnu | ||
- name: Checkout | ||
uses: actions/checkout@v2.0.0 | ||
- name: Master Toolchain Setup | ||
run: bash setup-toolchain.sh | ||
|
||
- name: Set LD_LIBRARY_PATH (Linux) | ||
run: | | ||
SYSROOT=$(rustc --print sysroot) | ||
echo "::set-env name=LD_LIBRARY_PATH::${SYSROOT}/lib${LD_LIBRARY_PATH+:${LD_LIBRARY_PATH}}" | ||
- name: Build | ||
run: cargo build --features deny-warnings | ||
- name: Test | ||
run: cargo test --features deny-warnings | ||
- name: Test clippy_lints | ||
run: cargo test --features deny-warnings | ||
working-directory: clippy_lints | ||
- name: Test rustc_tools_util | ||
run: cargo test --features deny-warnings | ||
working-directory: rustc_tools_util | ||
- name: Test clippy_dev | ||
run: cargo test --features deny-warnings | ||
working-directory: clippy_dev | ||
- name: Test cargo-clippy | ||
run: ../target/debug/cargo-clippy | ||
working-directory: clippy_workspace_tests | ||
- name: Test clippy-driver | ||
run: bash .github/driver.sh | ||
env: | ||
OS: ${{ runner.os }} | ||
|
||
- name: Run cargo-cache --autoclean | ||
run: | | ||
cargo install cargo-cache --debug | ||
find ~/.cargo/bin ! -type d -exec strip {} \; | ||
cargo cache --autoclean |
Oops, something went wrong.