validit 0.2.5

Validate data structures internal state
Documentation
name: ci

on:
  push:
  pull_request:
  schedule: [cron: "40 1 * * *"]

jobs:

  unit-test:
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        include:
          - toolchain: "stable"
            features: ""

          - toolchain: "nightly"
            features: "backtrace"


    steps:
      - name: Setup | Checkout
        uses: actions/checkout@v2


      - name: Setup | Toolchain
        uses: actions-rs/toolchain@v1.0.6
        with:
          toolchain: "${{ matrix.toolchain }}"
          override: true


      - name: Test
        uses: actions-rs/cargo@v1
        with:
          command: test
          args: --features "${{ matrix.features }}"
        env:
          RUST_LOG: debug
          RUST_BACKTRACE: full


      # - name: Upload artifact
      #   uses: actions/upload-artifact@v3
      #   if: failure()
      #   with:
      #     name: "ut-${{ matrix.toolchain }}-${{ matrix.features }}"
      #     path: |
      #       xx/_log/
      #       tests/_log/


  # Make sure benchmarks pass compile
  test-bench:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        include:
          - toolchain: "nightly"

    steps:
      - name: Setup | Checkout
        uses: actions/checkout@v2


      - name: Setup | Toolchain
        uses: actions-rs/toolchain@v1.0.6
        with:
          toolchain: "${{ matrix.toolchain }}"
          override: true


      - name: Test build for benchmark
        uses: actions-rs/cargo@v1
        with:
          command: bench
          args: --features bench nothing-to-run


  lint:
    name: lint
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - uses: actions-rs/toolchain@v1.0.6
        with:
          toolchain: nightly
          components: rustfmt, clippy

      - name: Format
        uses: actions-rs/cargo@v1
        with:
          toolchain: nightly
          command: fmt
          args: --all -- --check


      - name: clippy
        shell: bash
        run: |
          cargo +nightly clippy --no-deps --workspace --all-targets                -- -D warnings
          cargo +nightly clippy --no-deps --workspace --all-targets --features "backtrace" -- -D warnings


      - name: Build-doc
        uses: actions-rs/cargo@v1
        with:
          toolchain: nightly
          command: doc
          args: --all --all-features --no-deps
        env:
          RUSTDOCFLAGS: "-D warnings"