Add cargo fmt and cargo clippy checks to CI (#384) #310
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
name: CI | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
workflow_dispatch: | |
merge_group: | |
types: [checks_requested] | |
jobs: | |
linux-ci: | |
name: Linux | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
toolchain: | |
- nightly | |
- beta | |
- stable | |
- 1.63.0 | |
features: | |
- | |
- --features dummy_match_byte | |
include: | |
- toolchain: nightly | |
features: --features bench | |
- toolchain: nightly | |
features: --features bench,dummy_match_byte | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: ${{ matrix.toolchain }} | |
override: true | |
components: rustfmt, clippy, ${{ matrix.toolchain == 'nightly' && 'miri,rust-src' || '' }} | |
- name: Cargo format & lint | |
run: cargo fmt --check && cargo clippy -- -Dwarnings | |
- name: Cargo build | |
run: cargo build ${{ matrix.features }} | |
- name: Cargo doc | |
run: cargo doc ${{ matrix.features }} | |
- name: Cargo test | |
run: cargo test ${{ matrix.features }} | |
- name: macros build | |
run: cargo build | |
working-directory: macros | |
- name: Color build | |
run: cargo build | |
working-directory: color | |
- name: Color test | |
run: cargo test | |
working-directory: color | |
- name: Cargo miri test | |
if: "matrix.toolchain == 'nightly'" | |
run: cargo miri test --features skip_long_tests ${{ matrix.features }} | |
build_result: | |
name: Result | |
runs-on: ubuntu-latest | |
needs: | |
- "linux-ci" | |
steps: | |
- name: Mark the job as successful | |
run: exit 0 | |
if: success() | |
- name: Mark the job as unsuccessful | |
run: exit 1 | |
if: "!success()" |