weact-studio-epd 0.1.2

Unofficial driver for WeAct Studio E-paper modules
Documentation
name: CI
on: [push]

jobs:
  check:
    name: cargo check
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - uses: romnn/cargo-feature-combinations@main
      - run: cargo fc check

  lints:
    name: cargo clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: clippy
      - uses: Swatinem/rust-cache@v2
      - uses: romnn/cargo-feature-combinations@main
      - run: cargo fc clippy

  test:
    name: cargo test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
      - uses: Swatinem/rust-cache@v2
      - uses: romnn/cargo-feature-combinations@main
      - run: cargo fc test

  formatting:
    name: cargo fmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - uses: Swatinem/rust-cache@v2
      - name: Rustfmt Check
        uses: actions-rust-lang/rustfmt@v1

  examples:
    name: Build examples
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        example: [
          { folder: rp2040, target: thumbv6m-none-eabi }, 
          { folder: stm32g431, target: thumbv7em-none-eabi },
          { folder: esp32c6, target: riscv32imac-unknown-none-elf },
        ]
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@stable
        with:
          target: ${{ matrix.example.target }}
      - uses: Swatinem/rust-cache@v2
        with:
          workspaces: ./examples/${{ matrix.example.folder }}
      - run: cd examples/${{ matrix.example.folder }} && cargo build --release --bins