93 lines
2.0 KiB
YAML
93 lines
2.0 KiB
YAML
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- actions-*
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
|
|
name: Build
|
|
|
|
jobs:
|
|
check:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Run cargo build
|
|
run: cargo build --verbose
|
|
|
|
bench:
|
|
name: Bench
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install nightly toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: nightly
|
|
override: true
|
|
|
|
- name: Run cargo bench
|
|
run: cargo +nightly bench --verbose
|
|
|
|
test:
|
|
name: Test
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: xd009642/tarpaulin:0.22.0
|
|
options: --security-opt seccomp=unconfined
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
|
|
- name: Run cargo test
|
|
run: cargo tarpaulin --verbose --all-features --workspace --timeout 120 --out Xml
|
|
|
|
- name: Codecov
|
|
uses: codecov/codecov-action@v3.1.4
|
|
with:
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
verbose: true
|
|
fail_ci_if_error: true
|
|
|
|
lints:
|
|
name: Lints
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout sources
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Install stable toolchain
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
override: true
|
|
components: rustfmt, clippy
|
|
|
|
- name: Run cargo fmt
|
|
run: cargo fmt --all -- --check
|
|
|
|
- name: Run cargo clippy
|
|
run: cargo clippy -- -D warnings
|