name: Rust CI on: push: branches: - main pull_request: types: [opened, repoened, synchronize] jobs: test: runs-on: ubuntu-latest strategy: fail-fast: false matrix: backend_feature: - u64_backend - u32_backend toolchain: - stable - 1.51.0 name: test steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install ${{ matrix.toolchain }} toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.toolchain }} override: true components: rustfmt, clippy - name: Run cargo test uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features ${{ matrix.backend_feature }} - name: Run cargo test with std uses: actions-rs/cargo@v1 with: command: test args: --no-default-features --features std --features ${{ matrix.backend_feature }} clippy: name: cargo clippy runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Run cargo clippy uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings format: name: cargo fmt runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true components: rustfmt, clippy - name: Run cargo fmt uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check