gst-log-parser 0.5.1

Crate providing a convenient API to parse GStreamer logs
Documentation
on: [push, pull_request]

name: CI

jobs:
  test:
    name: Test Suite
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest]
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - name: Install GStreamer
        run: |
            sudo apt-get -y update
            sudo apt-get remove libunwind-*
            sudo apt-get -y install --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
      - uses: actions-rs/cargo@v1
        with:
          command: test

  fmt:
    name: Rustfmt
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - run: rustup component add rustfmt
      - name: Install GStreamer
        run: |
            sudo apt-get -y update
            sudo apt-get remove libunwind-*
            sudo apt-get -y install --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
      - uses: actions-rs/cargo@v1
        with:
          command: fmt
          args: --all -- --check

  clippy:
    name: Clippy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
          override: true
      - run: rustup component add clippy
      - name: Install GStreamer
        run: |
            sudo apt-get -y update
            sudo apt-get remove libunwind-*
            sudo apt-get -y install --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
      - uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: -- -D warnings

  coverage:
    runs-on: ubuntu-latest
    env:
      CARGO_TERM_COLOR: always
    steps:
      - uses: actions/checkout@v4
      - name: Install Rust
        run: rustup update stable
      - name: Install cargo-llvm-cov
        uses: taiki-e/install-action@cargo-llvm-cov
      - name: Install GStreamer
        run: |
            sudo apt-get -y update
            sudo apt-get remove libunwind-*
            sudo apt-get -y install --no-install-recommends libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
      - name: Generate code coverage
        run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
      - name: Upload coverage reports to Codecov
        uses: codecov/codecov-action@v5
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          slug: gdesmott/gst-log-parser