sen66-interface 1.1.0

An I2C driver for the SEN66 sensor in Rust.
Documentation
name: "Integration Checks"

on:
  push:
  pull_request:
    branches:
      - main

jobs:
  commitlint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Lint Git Commit Message
        uses: wagoid/commitlint-github-action@v6
  checking:
    name: cargo check
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Setup toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          toolchain: stable
      - name: Check Rust Errors
        run: cargo check --features "blocking async"
  formatting:
    name: cargo fmt
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Setup toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: rustfmt
      - name: Check Code Formatting
        uses: actions-rust-lang/rustfmt@v1
  linting:
    name: cargo clippy
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Setup toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
        with:
          components: clippy
      - name: Check Code Formatting
        run: cargo clippy --features "blocking async"
  auditing:
    name: cargo audit
    runs-on: ubuntu-latest
    permissions:
      contents: read
      issues: write
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Audit Rust Dependencies
        uses: actions-rust-lang/audit@v1
  building:
    name: cargo build
    needs: [auditing, checking, formatting, linting]
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Setup toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1
      - name: Build library
        run: cargo build --features "blocking async"
  unittest:
    name: unit tests
    needs: building
    runs-on: ubuntu-latest
    container:
      image: xd009642/tarpaulin:develop-nightly
      options: --security-opt seccomp=unconfined
    steps:
      - name: Checkout repository
        uses: actions/checkout@v4
      - name: Execute unit tests
        run: cargo tarpaulin --out xml --features "blocking async"
      - name: Generate coverage report
        uses: codecov/codecov-action@v4
        with:
          flags: unittests
          fail_ci_if_error: true