rfc6381-codec 0.3.0

Parser and generator for codec-string values, as specified in RFC 6381, section 3
Documentation
name: Rust

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:

    runs-on: ubuntu-22.04

    steps:
    - uses: actions/checkout@v6

    - name: Install toolchain
      uses: actions-rust-lang/setup-rust-toolchain@v1.16.0

    - name: Check format
      run: cargo fmt --check

    - name: Build
      run: cargo build --verbose --all-targets

    - name: Run tests
      run: cargo test --verbose


  coverage:
    name: Coverage
    runs-on: ubuntu-22.04
    container:
      image: xd009642/tarpaulin:0.35.2-slim
      options: --security-opt seccomp=unconfined
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1.16.0

      - name: Generate code coverage
        run: |
          cargo tarpaulin --engine llvm --verbose --timeout 120 --fail-under 85 --out Lcov -- --test-threads 1

      - name: upload to Coveralls
        uses: coverallsapp/github-action@v2.3.7
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          path-to-lcov: './lcov.info'


  clippy:
    name: Lint 📎
    runs-on: ubuntu-22.04
    steps:
      - name: Checkout repository
        uses: actions/checkout@v6
      - name: Install toolchain
        uses: actions-rust-lang/setup-rust-toolchain@v1.16.0

      - name: Run clippy
        uses: actions-rs-plus/clippy-check@v2.4.2
        with:
          args: --all-features