on: [push, pull_request]
name: Build and Test check
jobs:
  builds:
    name: "Build checks"
    runs-on: ubuntu-20.04
    strategy:
      matrix:
        features: ["", "--features eh1_0_alpha", "--features chrono", "--features rp2040-e5"]
        mode: ["", "--release"]
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          target: thumbv6m-none-eabi
          override: true
          profile: minimal
      - name: "Build workspace"
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: ${{ matrix.mode }} --workspace ${{ matrix.features }}
      - name: "Build workspace and examples"
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: ${{ matrix.mode }} --workspace --examples ${{ matrix.features }}
      - name: "List built examples and clean"
        run: rm -vrf target/thumbv6m-none-eabi/*/examples/* | sed -e "s/removed '\(.*\)'/\1/" | xargs -l basename | grep -Ev '(-|\.d)'
      - name: "Test"
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --tests --target x86_64-unknown-linux-gnu ${{ matrix.features }}
      - name: "Test docs"
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --doc --target x86_64-unknown-linux-gnu ${{ matrix.features }}