on: [push, pull_request] name: CI jobs: checks: name: ${{ matrix.name }} (${{ matrix.target }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: target: - x86_64-unknown-linux-gnu - x86_64-unknown-netbsd - armv7-unknown-linux-gnueabihf include: - os: ubuntu-latest name: Linux x86_64 target: x86_64-unknown-linux-gnu cross: false strip: true - os: ubuntu-latest name: NetBSD target: x86_64-unknown-netbsd cross: true strip: true - os: ubuntu-latest name: Linux armv7 target: armv7-unknown-linux-gnueabihf cross: true strip: true steps: - name: Checkout uses: actions/checkout@v2 - name: Bootstrap uses: actions-rs/toolchain@v1 with: toolchain: stable components: rustfmt, clippy target: ${{ matrix.target }} - name: Formatting uses: actions-rs/cargo@v1 with: command: fmt use-cross: ${{ matrix.cross }} continue-on-error: false - name: Lints uses: actions-rs/cargo@v1 with: command: clippy args: --target=${{ matrix.target }} -- --no-deps -D clippy::all use-cross: ${{ matrix.cross }} continue-on-error: false - name: Build uses: actions-rs/cargo@v1 with: command: build args: --target=${{ matrix.target }} use-cross: ${{ matrix.cross }} - name: Test uses: actions-rs/cargo@v1 with: command: test args: --target=${{ matrix.target }} if: ${{ !matrix.cross }}