name: Rust on: push: branches: [ "main" ] pull_request: branches: [ "main" ] env: CARGO_TERM_COLOR: always jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Add musl target run: rustup target add x86_64-unknown-linux-musl - name: Format Check run: cargo fmt --check - name: Build run: cargo build --verbose - name: Build Tests run: cargo build --all-targets --verbose - name: Clippy run: cargo clippy --all-targets --no-deps -- -Dwarnings - name: Run tests run: cargo test -r --verbose - name: Build (MUSL) run: cargo build --verbose --all-targets --target x86_64-unknown-linux-musl - name: Run tests (MUSL) run: cargo test -r --verbose --target x86_64-unknown-linux-musl - name: Run tests (ACI) run: cargo test -r --test aci - name: Run tests (OPA Conformance) run: >- cargo test -r --test opa -- $(tr '\n' ' ' < tests/opa.passing) - name: Install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - name: Run wasm binding tests run: | cd bindings/wasm wasm-pack test --node -r