name: Rust on: push: branches: - main pull_request: branches: - main jobs: feature-checks: runs-on: ubuntu-latest timeout-minutes: 30 steps: - uses: actions/checkout@v3 with: submodules: recursive - uses: dtolnay/rust-toolchain@stable - uses: taiki-e/install-action@cargo-hack - uses: Swatinem/rust-cache@v2 - name: cargo hack working-directory: bindings/rust run: cargo hack check --feature-powerset --depth 2 tests: runs-on: ${{ matrix.os }} strategy: matrix: os: - ubuntu-latest - windows-latest - macos-latest steps: - uses: actions/checkout@v3 with: submodules: recursive - uses: dtolnay/rust-toolchain@stable - uses: Swatinem/rust-cache@v2 - name: Build and Test (minimal preset) working-directory: bindings/rust run: cargo test --features minimal-spec - name: Build and Test (mainnet preset) working-directory: bindings/rust run: cargo test --features mainnet-spec - name: Benchmark working-directory: bindings/rust run: cargo bench