brickbeam 0.1.0

Community driven IR Transmitter implementation of the LEGO® Power Functions (LPF) protocol powered by the modern Linux, written in Rust.
Documentation
name: Coverage

on:
  push:
    branches: ['**']
  pull_request:

permissions:
  contents: read

jobs:
  coverage:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@e3d2460bbb42d7710191569f88069044cfb9d8cf #v4.2.2

      - name: Install CIR/LLVM dependencies
        run: |
          sudo apt-get update
          sudo apt-get install -y llvm-17-dev llvm-17-tools libffi-dev

      - uses: actions-rust-lang/setup-rust-toolchain@9399c7bb15d4c7d47b27263d024f0a4978346ba4 #v1
        with:
          toolchain: nightly

      - name: Install cargo-tarpaulin
        run: cargo install cargo-tarpaulin

      - name: Run code coverage
        run: cargo tarpaulin --verbose --no-default-features --workspace --timeout 120 --out Xml

      - name: Upload coverage to Codecov
        uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 #v5.4.0
        with:
          fail_ci_if_error: true
          token: ${{ secrets.CODECOV_TOKEN }}