name: CI on: pull_request: push: branches: - main jobs: check: name: Check runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Install cargo-hack uses: actions-rs/cargo@v1 with: command: install args: cargo-hack - name: Check feature combinations uses: actions-rs/cargo@v1 with: command: hack args: clippy --feature-powerset --no-dev-deps test: name: Test runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup Rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Test uses: actions-rs/cargo@v1 with: command: test lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v2 - name: Setup Rust uses: actions-rs/toolchain@v1 with: toolchain: stable override: true - name: Run rustfmt uses: actions-rs/cargo@v1 with: command: fmt args: -- --check - name: Run clippy uses: actions-rs/cargo@v1 with: command: clippy args: --all-features -- -D warnings