Biscuit v5 #854
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: Rust | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main, v5] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo | |
target/ | |
key: ${{ runner.os }}-${{ hashFiles('Cargo.toml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ hashFiles('Cargo.toml') }} | |
${{ runner.os }}- | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --features="serde-error,bwk" --verbose | |
- name: Check samples | |
run: | | |
cd biscuit-auth | |
cargo run --release --example testcases --features serde-error -- ./samples --json > ./samples/samples.json | |
git diff --exit-code | |
capi: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- uses: actions-rust-lang/setup-rust-toolchain@v1 | |
- name: Install cargo-c | |
env: | |
LINK: https://github.com/lu-zero/cargo-c/releases/download | |
CARGO_C_FILE: cargo-c-x86_64-unknown-linux-musl.tar.gz | |
CARGO_C_VERSION: v0.10.5 | |
run: | | |
curl -L $LINK/$CARGO_C_VERSION/$CARGO_C_FILE | tar xz -C ~/.cargo/bin | |
- name: Run cargo-c tests | |
run: cargo ctest --features="capi" --release | |
coverage: | |
name: Coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v2 | |
- name: Install rust | |
uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
profile: minimal | |
override: true | |
- name: Cache | |
uses: Swatinem/rust-cache@v1 | |
- name: Install cargo-tarpaulin | |
uses: actions-rs/cargo@v1 | |
with: | |
command: install | |
args: cargo-tarpaulin | |
- name: Run cargo tarpaulin | |
uses: actions-rs/cargo@v1 | |
with: | |
command: tarpaulin | |
args: --output-dir coverage --out xml --workspace --features serde-error --tests --example testcases --example third_party | |
- name: Upload coverage reports to Codecov | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
slug: biscuit-auth/biscuit-rust |