surreal-id 1.0.1

A package for easily creating ID types for usage with surrealdb
Documentation
permissions:
  contents: read
on:
  push:
    branches: [main]
  pull_request:
name: Check
jobs:
  fmt:
    runs-on: ubuntu-latest
    name: stable / fmt
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - name: Install stable
        uses: dtolnay/rust-toolchain@stable
        with:
          components: rustfmt
      - name: cargo fmt --check
        run: cargo fmt --check
  clippy:
    runs-on: ubuntu-latest
    name: ${{ matrix.toolchain }} / clippy
    permissions:
      contents: read
      checks: write
    strategy:
      fail-fast: false
      matrix:
        toolchain: [stable, beta]
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - name: Install ${{ matrix.toolchain }}
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}
          components: clippy
      - name: cargo clippy
        uses: actions-rs/clippy-check@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}

  # NOTE: Commented out nightly builds for now, see: https://github.com/liamwh/surreal-id/actions/runs/9061443687/job/24893200609?pr=26
  # doc:
  #   runs-on: ubuntu-latest
  #   name: nightly / doc
  #   steps:
  #     - uses: actions/checkout@v3
  #       with:
  #         submodules: true
  #     - name: Install nightly
  #       uses: dtolnay/rust-toolchain@nightly
  #     - name: cargo doc
  #       run: cargo doc --no-deps --all-features
  #       env:
  #         RUSTDOCFLAGS: --cfg docsrs

  hack:
    runs-on: ubuntu-latest
    name: ubuntu / stable / features
    steps:
      - uses: actions/checkout@v3
        with:
          submodules: true
      - name: Install stable
        uses: dtolnay/rust-toolchain@stable
      - name: cargo install cargo-hack
        uses: taiki-e/install-action@cargo-hack
      - name: cargo hack
        run: cargo hack --feature-powerset check --lib --tests

  dependency-audit:
    runs-on: ubuntu-latest
    name: Dependency audit
    steps:
      - uses: actions/checkout@v3
      - uses: rustsec/audit-check@v1.4.1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
        continue-on-error: true

  cargo-deny:
    name: cargo-deny
    runs-on: ubuntu-latest
    strategy:
      matrix:
        checks:
          # - advisories
          - bans licenses sources

    # Prevent sudden announcement of a new advisory from failing ci:
    continue-on-error: ${{ matrix.checks == 'advisories' }}

    steps:
      - uses: actions/checkout@v3
      - uses: EmbarkStudios/cargo-deny-action@v1
        with:
          command: check ${{ matrix.checks }}