name: Rust CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest strategy: matrix: rust: [stable, beta, nightly] features: ["", "alloc", "std", "async"] steps: - uses: actions/checkout@v2 - run: rustup default ${{ matrix.rust }} - name: build run: > cargo build --verbose --no-default-features --features "$FEATURES" env: FEATURES: ${{ matrix.features }} - name: test run: > cargo test --tests --benches --no-default-features --features "$FEATURES" --release if: ${{ matrix.rust != '1.34.2' }} env: FEATURES: ${{ matrix.features }} build_msrv: runs-on: ubuntu-latest strategy: matrix: features: ["", "std"] steps: - uses: actions/checkout@v2 - run: rustup default "1.34.2" - name: build run: cargo build --verbose --no-default-features --features "$FEATURES" env: FEATURES: ${{ matrix.features }} rustfmt: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: toolchain: stable override: true components: rustfmt, clippy - name: Run rustfmt check uses: actions-rs/cargo@v1 with: command: fmt args: -- --check