Add PR workflow action trigger #100
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
# Inspired heavily by the libseccomp-rs CI script | |
name: build-test | |
on: | |
push: | |
workflow_dispatch: | |
pull_request: | |
jobs: | |
validate: | |
name: Format and Lint Check | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install libseccomp | |
run: sudo apt-get install libseccomp-dev | |
- name: Install clippy | |
run: rustup component add clippy | |
# - name: Run cargo fmt | |
# run: cargo fmt --all -- --check | |
- name: Run cargo clippy | |
run: ./clippy.sh | |
test: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install libseccomp | |
run: sudo apt-get install libseccomp-dev | |
- name: Run tests | |
run: cargo test --tests --examples | |
doc: | |
name: Documentation Check | |
runs-on: ubuntu-latest | |
env: | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Generate documentation | |
run: cargo doc --no-deps | |
coverage: | |
name: Code Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Install libseccomp | |
run: sudo apt-get install libseccomp-dev | |
- name: Install Rust | |
run: rustup toolchain install nightly --component llvm-tools-preview | |
- name: Install cargo-llvm-cov | |
uses: taiki-e/install-action@cargo-llvm-cov | |
- name: Generate code coverage | |
run: cargo llvm-cov --tests --examples --all-targets --all-features --workspace --lcov --output-path lcov.info | |
- name: Upload coverage to coveralls | |
uses: coverallsapp/github-action@master | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
path-to-lcov: lcov.info |