munin-plugin 0.2.0

Ease writing of plugins for munin in Rust
Documentation
name: CI

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  schedule:
    - cron: "0 7 * * *"
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    name: Run ${{ matrix.jobs.name }} with Rust ${{ matrix.rust }} on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest]
        rust: [stable]
        jobs:
          - name: Clippy
            task: cargo clippy --workspace --all-targets --verbose
          - name: tests
            task: cargo test --workspace --verbose
          - name: fmt
            task: cargo fmt --all -- --check
        include:
          - name: Clippy
            env:
              RUSTFLAGS: -Dwarnings
    steps:
      - uses: actions/checkout@v2
      - name: Prepare Rust
        uses: hecrj/setup-rust-action@v1
        with:
          rust-version: ${{ matrix.rust }}
          components: clippy, rustfmt
      - name: Cache cargo registry
        uses: actions/cache@v2
        continue-on-error: false
        with:
          path: |
            ~/.cargo/registry
            ~/.cargo/git
          key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
          restore-keys: |
            ${{ runner.os }}-cargo-
      - name: Run task ${{ matrix.jobs.name }}
        run: ${{ matrix.jobs.task }}
  
  coverage:
    name: Tarpaulin coverage
    runs-on: ubuntu-latest
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2
      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          override: true
      - name: Run cargo-tarpaulin
        uses: actions-rs/tarpaulin@v0.1
      - name: Upload to codecov.io
        uses: codecov/codecov-action@v2
        with:
          token: ${{secrets.CODECOV_TOKEN}}
          fail_ci_if_error: false
          verbose: true
      - name: Archive code coverage results
        uses: actions/upload-artifact@v1
        with:
          name: code-coverage-report
          path: cobertura.xml