valitron 0.5.6

Valitron is an ergonomics, functional and configurable validator
Documentation
name: Test and Publish

on:
  push:
    branches:
      - "*"
  pull_request:
    branches:
      - "*"

jobs:
  test:
    runs-on: ubuntu-latest

    name: "test"
    steps:
      - uses: actions/checkout@v3

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

      - name: clippy
        uses: actions-rs/cargo@v1
        with:
          command: clippy
          args: --all-features -- -D warnings

      - name: Show cargo info
        run: cargo version --verbose

      - name: Run Test Lib
        run: |
          cargo test --lib
          cargo test --example enum_msg

      - name: Run Test Full Features
        run: |
          cargo test --all-features

  publish:
    needs: [test]
    if: ${{ github.event_name == 'push' && github.ref_name == 'main'}}
    runs-on: ubuntu-latest

    name: "publish"

    environment: cargo

    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Run publish-action of oss
        uses: tu6ge/publish-action@v0.4.5
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

        with:
          DIR: "/"
          TAG_PREFIX: "v"

  # grcov:
  #   name: Coverage and Grcov
  #   runs-on: ubuntu-latest

  #   steps:
  #     - name: Checkout sources
  #       uses: actions/checkout@v2

  #     - uses: actions-rs/toolchain@v1
  #       with:
  #         toolchain: nightly-2023-03-26
  #         override: true

  #     - name: Cache
  #       uses: Swatinem/rust-cache@v1
  #       with:
  #         key: ${{ runner.os }}-coverage-v0.2.0

  #     - uses: actions-rs/cargo@v1
  #       with:
  #         command: test
  #         args: --all-features --lib
  #       env:
  #         CARGO_INCREMENTAL: '0'
  #         RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
  #         RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'

  #     - uses: actions-rs/cargo@v1
  #       with:
  #         command: test
  #         args: --all-features --doc
  #       env:
  #         CARGO_INCREMENTAL: '0'
  #         RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
  #         RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests'
  #     - name: Gather coverage data
  #       id: coverage
  #       uses: actions-rs/grcov@v0.1

  #     - name: Coveralls upload
  #       uses: coverallsapp/github-action@master
  #       with:
  #         github-token: ${{ secrets.GITHUB_TOKEN }}
  #         path-to-lcov: ${{ steps.coverage.outputs.report }}