nrf-usbd 0.3.0

USB driver for nRF microcontrollers
Documentation
name: CI

on:
  push:
    branches: [ main, staging, trying ]
  pull_request:

jobs:
  build:
    runs-on: ubuntu-latest
    timeout-minutes: 30
    continue-on-error: ${{ matrix.rust_version == 'nightly' }}
  
    strategy:
      matrix:
        include:
        - rust_version: stable
          target: thumbv7em-none-eabi
          rustflags: --deny warnings
        - rust_version: stable
          target: thumbv7em-none-eabihf
          rustflags: --deny warnings
        - rust_version: stable
          target: thumbv8m.main-none-eabi
          rustflags: --deny warnings
        - rust_version: beta
          target: thumbv7em-none-eabihf
        - rust_version: nightly
          target: thumbv7em-none-eabihf

    steps:
    - uses: actions/checkout@v4
    - name: Install Rust
      run: |
        rustup install --profile=minimal ${{ matrix.rust_version }}
        rustup target add ${{ matrix.target }}
    - name: Build
      run: cargo build --target ${{ matrix.target }}
      env:
        RUSTFLAGS: ${{ matrix.rustflags }}

  example:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Install Rust
        run: rustup target add thumbv7em-none-eabi
      - name: Build example
        run: cd example && cargo build

  fmt:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Install Rust stable
      run: |
        rustup install --profile=minimal stable
        rustup component add rustfmt
    - name: Check fmt
      run: cargo fmt -- --check

  ci:
    if: ${{ success() }}
    # all new jobs must be added to this list
    needs: [build, fmt]
    runs-on: ubuntu-latest
    steps:
      - name: CI succeeded
        run: exit 0