name: Build & Test
on:
pull_request:
workflow_dispatch:
workflow_call:
schedule:
- cron: "0 5 * * 4"
jobs:
build-test-native:
name: build and test native
runs-on: ubuntu-latest
strategy:
matrix:
rust:
- stable
feature:
- ring
- openssl
- rust-crypto
steps:
- uses: actions/checkout@v6
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ matrix.rust }}
components: clippy, rustfmt
- name: check
run: cargo check --all-targets --no-default-features --features ${{ matrix.feature }}
- name: test
run: cargo test --all-targets --no-default-features --features ${{ matrix.feature }}
- name: clippy
run: cargo clippy --all-targets --no-default-features --features ${{ matrix.feature }} -- -Dwarnings
- name: package
run: cargo package
build-wasm:
name: build wasm32
runs-on: ubuntu-latest
strategy:
matrix:
feature:
- ring
- rust-crypto
steps:
- uses: actions/checkout@v6
- uses: Swatinem/rust-cache@v2
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
target: wasm32-unknown-unknown
- name: build
run: cargo build --target wasm32-unknown-unknown --no-default-features --features ${{ matrix.feature }}