pddl-parser 0.2.3

A Rust library for parsing PDDL files
Documentation
name: Rust

on:
  push:
  pull_request:
  workflow_dispatch:

env:
  CARGO_TERM_COLOR: always

jobs:
  fmt:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      # Setup toolchain
      - name: Setup toolchain nightly
        uses: actions-rs/toolchain@v1
        with:
          toolchain: nightly
          components: rustfmt
          profile: minimal

      # Check
      - run: cargo +nightly fmt -- --check

  clippy:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/checkout@v3

      # Setup toolchain
      - name: Setup toolchain stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          components: clippy
          profile: minimal

      # Check
      - run: cargo clippy -- -D clippy::nursery -D clippy::perf -D clippy::pedantic

  test:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/checkout@v3

      # Setup toolchain
      - name: Setup toolchain stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal

      # Check
      - run: cargo test

  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      # Setup toolchain
      - name: Setup toolchain stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal

      # Check
      - run: cargo build --all-targets --release

  msrv:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/checkout@v3

      # Setup toolchain
      - name: Setup toolchain stable
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable
          profile: minimal

      - name: Install cargo-msrv
        uses: actions-rs/cargo@v1
        with:
          command: install
          args: cargo-msrv

      # Check
      - run: cargo msrv verify

  coverage:
    runs-on: ubuntu-latest
    needs: test

    steps:
      # Checkout repository
      - name: Checkout repository
        uses: actions/checkout@v3

      # Setup toolchain
      - name: Setup toolchain
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      # Run cargo-tarpaulin
      - name: Run cargo-tarpaulin
        uses: actions-rs/tarpaulin@v0.1
        with:
          version: "0.15.0"
          args: "-- --test-threads 1"

      # Upload to codecov.io
      - name: Upload to codecov.io
        uses: codecov/codecov-action@v3.1.4
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          fail_ci_if_error: false
          verbose: true