Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
2f8ef89
Add integration test GitHub action
flip1995 Jan 20, 2020
1158c18
Add clippy_dev checks to GitHub Actions
flip1995 Jan 21, 2020
20c3319
Add remark check to GHA
flip1995 Jan 21, 2020
2a7a3aa
Rename .remarkrc.json -> .remarkrc and fix file
flip1995 Jan 21, 2020
757bbf7
Fix markdown Files
flip1995 Jan 21, 2020
d14ee8a
Add Clippy Test (bors) to GHA
flip1995 Jan 21, 2020
1717a6f
Ignore fmt test in GHA CI
flip1995 Jan 21, 2020
ff8336b
Check if changelog exists
flip1995 Jan 21, 2020
f5db351
Get {RUSTUP,MULTIRUST}_{HOME,TOOLCHAIN} from runtime environment
flip1995 Jan 22, 2020
66b5e22
Add Clippy Test to GHA
flip1995 Jan 22, 2020
9281167
Move integration tests in clippy_bors.yml
flip1995 Jan 22, 2020
893e261
Add deployment to GHA
flip1995 Jan 22, 2020
8f45387
Small change to comment in .gitignore
flip1995 Jan 23, 2020
d7620a3
Add GHA badge to README.md
flip1995 Jan 23, 2020
b9580fc
Cancle builds on new commits
flip1995 Jan 23, 2020
e59361f
Limit parallel jobs on try/r+ runs
flip1995 Jan 23, 2020
935b94d
Sort output of export.py script
flip1995 Jan 24, 2020
ea780a6
Extract driver test
flip1995 Jan 26, 2020
dfdea56
Extract deployment
flip1995 Jan 26, 2020
ab43951
Allow non-ascii characters in changelog check
flip1995 Jan 30, 2020
1ceeb13
Build Clippy before running integration tests
flip1995 Jan 31, 2020
095287d
Add two more error causes to integration test
flip1995 Jan 31, 2020
813d319
Use hash of Cargo.lock file in cache name
flip1995 Jan 31, 2020
b8b47ab
Add bors dummy jobs
flip1995 Feb 4, 2020
abb095d
Run bors checks unconditionally
flip1995 Feb 4, 2020
b47dada
Apply review comments
flip1995 Feb 7, 2020
622ece3
Remove deployment from travis
flip1995 Feb 7, 2020
2745346
Install all required remark packages in travis
flip1995 Feb 7, 2020
a0a21a8
Use nightly cargo to install cargo-cache
flip1995 Feb 9, 2020
3fac289
Don't upload target/release in integration_build
flip1995 Feb 12, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add Clippy Test (bors) to GHA
  • Loading branch information
flip1995 committed Feb 12, 2020
commit d14ee8a4b1f41121d799c3f5b868d916ac0f24bd
146 changes: 146 additions & 0 deletions .github/workflows/clippy_bors.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,146 @@
name: Clippy Test (bors)

on:
push:
branches: [auto, try]
# 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:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
host: [x86_64-unknown-linux-gnu, i686-unknown-linux-gnu, x86_64-apple-darwin, x86_64-pc-windows-msvc]
exclude:
- os: ubuntu-latest
host: x86_64-apple-darwin
- os: ubuntu-latest
host: x86_64-pc-windows-msvc
- os: macos-latest
host: x86_64-unknown-linux-gnu
- os: macos-latest
host: i686-unknown-linux-gnu
- os: macos-latest
host: x86_64-pc-windows-msvc
- os: windows-latest
host: x86_64-unknown-linux-gnu
- os: windows-latest
host: i686-unknown-linux-gnu
- os: windows-latest
host: x86_64-apple-darwin

runs-on: ${{ matrix.os }}

steps:
- name: Install dependencies (Linux-i686)
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install gcc-multilib libssl-dev:i386 libgit2-dev:i386
if: matrix.host == 'i686-unknown-linux-gnu'
- name: rust-toolchain
uses: actions-rs/[email protected]
with:
toolchain: nightly
target: ${{ matrix.host }}
profile: minimal
- name: Cache cargo dir
uses: actions/cache@v1
with:
path: ~/.cargo
key: ${{ runner.os }}-${{ matrix.host }}
- name: Checkout
uses: actions/[email protected]
- name: Master Toolchain Setup
run: bash setup-toolchain.sh
env:
HOST_TOOLCHAIN: ${{ matrix.host }}
shell: bash

- name: Set LD_LIBRARY_PATH (Linux)
if: runner.os == 'Linux'
run: |
SYSROOT=$(rustc --print sysroot)
echo "::set-env name=LD_LIBRARY_PATH::${SYSROOT}/lib${LD_LIBRARY_PATH+:${LD_LIBRARY_PATH}}"
- name: Link rustc dylib (MacOS)
if: runner.os == 'macOS'
run: |
SYSROOT=$(rustc --print sysroot)
sudo mkdir -p /usr/local/lib
sudo find "${SYSROOT}/lib" -maxdepth 1 -name '*dylib' -exec ln -s {} /usr/local/lib \;
- name: Set PATH (Windows)
if: runner.os == 'Windows'
run: |
$sysroot = rustc --print sysroot
$env:PATH += ';' + $sysroot + '\bin'
echo "::set-env name=PATH::$env:PATH"
- name: Build
run: cargo build --features deny-warnings
shell: bash
- name: Test
run: cargo test --features deny-warnings
shell: bash
- name: Test clippy_lints
run: cargo test --features deny-warnings
shell: bash
working-directory: clippy_lints
- name: Test rustc_tools_util
run: cargo test --features deny-warnings
shell: bash
working-directory: rustc_tools_util
- name: Test clippy_dev
run: cargo test --features deny-warnings
shell: bash
working-directory: clippy_dev
- name: Test cargo-clippy
run: ../target/debug/cargo-clippy
shell: bash
working-directory: clippy_workspace_tests
- name: Test clippy-driver
run: |
(
set -ex
# Check sysroot handling
sysroot=$(./target/debug/clippy-driver --print sysroot)
test "$sysroot" = "$(rustc --print sysroot)"

if [[ ${{ runner.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
)
shell: bash

- name: Run cargo-cache --autoclean
run: |
cargo install cargo-cache --debug
/usr/bin/find ~/.cargo/bin ! -type d -exec strip {} \;
cargo cache --autoclean
shell: bash