Skip to content

Commit

Permalink
Merge pull request #17 from rustadopt/linting-workflow
Browse files Browse the repository at this point in the history
refactor(ci): split general workflow into testing and linting
  • Loading branch information
PThorpe92 committed Jan 1, 2024
2 parents f231add + 0ced54f commit aa6f0f8
Show file tree
Hide file tree
Showing 2 changed files with 105 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/linting.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: linting

on:
push:
branches:
- 'main'
paths:
- 'src/**/*'
- 'tests/**/*'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.rustfmt.toml'
- '.github/workflows/linting.yml'
pull_request:
branches:
- 'main'
paths:
- 'src/**/*'
- 'tests/**/*'
- '**/Cargo.toml'
- '**/Cargo.lock'
- '.rustfmt.toml'
- '.github/workflows/linting.yml'

env:
CARGO_TERM_COLOR: always

jobs:
fmt:
name: Rustfmt
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Enforce formatting
run: cargo fmt --check

clippy:
name: Clippy
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- name: Linting
run: cargo clippy -- -D warnings
55 changes: 55 additions & 0 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: testing

on:
push:
branches:
- "main"
paths:
- "src/**/*"
- "tests/**/*"
- "**/Cargo.toml"
- "**/Cargo.lock"
- ".github/workflows/testing.yml"
pull_request:
branches:
- "main"
paths:
- "src/**/*"
- "tests/**/*"
- "**/Cargo.toml"
- "**/Cargo.lock"
- ".github/workflows/testing.yml"

env:
CARGO_TERM_COLOR: always

jobs:
test:
name: Test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Run tests
env:
NSS_WRAPPER_PASSWD: tests/fixtures/passwd
NSS_WRAPPER_GROUP: tests/fixtures/group
run: |
sudo apt update && sudo apt install -y libnss-wrapper
cargo test
LD_PRELOAD=libnss_wrapper.so cargo test --features test-integration mocked_
LD_PRELOAD=libnss_wrapper.so cargo test --features test-integration --test '*'
coverage:
name: Code coverage
runs-on: ubuntu-latest
container:
image: xd009642/tarpaulin
options: --security-opt seccomp=unconfined
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Generate code coverage
run: |
cargo tarpaulin --verbose --workspace

0 comments on commit aa6f0f8

Please sign in to comment.