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: Install musl-gcc run: sudo apt update && sudo apt install -y musl-tools - name: Format Check run: cargo fmt --check - name: Build run: cargo build -r --verbose - name: Doc Tests run: cargo test -r --doc - name: Run tests run: cargo test -r --verbose - name: Run tests (ACI) run: cargo test -r --test aci - name: Run tests (OPA Conformance) run: >- cargo test -r --test opa --features opa-testutil,serde_json/arbitrary_precision -- $(tr '\n' ' ' < tests/opa.passing) - 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 (MUSL ACI) run: cargo test -r --test aci --target x86_64-unknown-linux-musl - name: Run tests (MUSL OPA Conformance) run: >- cargo test -r --test opa --features opa-testutil,serde_json/arbitrary_precision --target x86_64-unknown-linux-musl -- $(tr '\n' ' ' < tests/opa.passing)