littlefs2-sys 0.3.2

Low-level bindings to littlefs
Documentation
name: CI

on: [push, pull_request]

jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        target:
          - thumbv7em-none-eabi
          - thumbv6m-none-eabi # like the Cortex-M0+
          - x86_64-unknown-linux-gnu

    env:
      CARGO_BUILD_TARGET: ${{ matrix.target }}

    steps:
      - name: Install build dependencies
        shell: bash
        run: |
          env && pwd && sudo apt-get update -y -qq && sudo apt-get install -y -qq llvm libc6-dev-i386 libclang-dev
      - uses: fiam/arm-none-eabi-gcc@v1
        with:
          release: "9-2020-q2"
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          target: ${{ matrix.target }}
          override: true

      - uses: actions/checkout@v3
        with:
          submodules: true

      - name: Check
        run: |
          cargo check
          cargo check --all-features

      - name: Build
        run: |
          cargo build --release
          cargo build --release --features unstable-littlefs-patched

      - name: Run clippy
        if: matrix.target == 'x86_64-unknown-linux-gnu'
        run: cargo clippy --workspace --all-features --all-targets -- --deny warnings

      - name: Check code format
        if: matrix.target == 'x86_64-unknown-linux-gnu'
        run: cargo fmt --all -- --check