--- name: mcp23017-ci on: push: branches: - '**' tags: - "*.*.*" env: RUSTFLAGS: '--deny warnings' jobs: build: name: Build runs-on: ubuntu-latest strategy: matrix: rust: [ stable, beta, nightly, 1.52.1 ] TARGET: - x86_64-unknown-linux-gnu - x86_64-unknown-linux-musl - arm-unknown-linux-gnueabi # Raspberry Pi 1 - armv7-unknown-linux-gnueabihf # Raspberry Pi 2, 3, etc # Bare metal - thumbv6m-none-eabi - thumbv7em-none-eabi - thumbv7em-none-eabihf - thumbv7m-none-eabi include: - rust: nightly experimental: true steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} target: ${{ matrix.TARGET }} override: true - name: Checkout CI scripts uses: actions/checkout@v2 with: repository: 'eldruin/rust-driver-ci-scripts' ref: 'master' path: 'ci' - run: ./ci/patch-no-std.sh if: ${{ ! contains(matrix.TARGET, 'x86_64') }} checks: name: Checks runs-on: ubuntu-latest strategy: matrix: rust: [ stable, beta ] TARGET: - x86_64-unknown-linux-gnu steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} target: ${{ matrix.TARGET }} override: true components: clippy, rustfmt - name: Doc uses: actions-rs/cargo@v1 with: command: doc - name: Formatting uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: Clippy runs-on: ubuntu-latest strategy: matrix: rust: [ stable ] TARGET: - x86_64-unknown-linux-gnu - x86_64-unknown-linux-musl - arm-unknown-linux-gnueabi # Raspberry Pi 1 - armv7-unknown-linux-gnueabihf # Raspberry Pi 2, 3, etc # Bare metal - thumbv6m-none-eabi - thumbv7em-none-eabi - thumbv7em-none-eabihf - thumbv7m-none-eabi include: - experimental: true steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} target: ${{ matrix.TARGET }} override: true - run: cargo clippy --all-features -- --deny=warnings test: name: Tests runs-on: ubuntu-latest strategy: matrix: rust: [ stable, beta, nightly ] TARGET: [ x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl ] include: - rust: nightly experimental: true steps: - uses: actions/checkout@v4 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: ${{ matrix.rust }} target: ${{ matrix.TARGET }} override: true - name: Test uses: actions-rs/cargo@v1 with: command: test args: --target=${{ matrix.TARGET }} - name: Build examples uses: actions-rs/cargo@v1 if: contains(matrix.TARGET, 'x86_64') with: command: build args: --target=${{ matrix.TARGET }} --examples