portmatching 0.3.3

Fast Graph Matching for Port Graphs
Documentation
on:
  push:
    branches-ignore: bench

name: CI tests

env:
  CARGO_TERM_COLOR: always
  PROPTEST_CASES: 1024

permissions:
  contents: write

jobs:
  checks:
    runs-on: ubuntu-latest
    
    name: Formatting and Linting Check

    steps:
      - uses: actions/checkout@v3
        name: Check out repo

      - uses: dtolnay/rust-toolchain@stable
        name: Install toolchain
        with:
          components: rustfmt, clippy

      - name: Check formatting
        run: cargo fmt --all -- --check
      
      - name: Linting (clippy)
        run: cargo clippy --all-targets -- -D warnings

  tests:
    strategy:
      matrix:
        rust: [beta, nightly, 1.70.0]
        os:
          - ubuntu-latest
    
    runs-on: ${{ matrix.os }}
    name: Rust ${{ matrix.rust }} on ${{ matrix.os }}

    steps:
      - uses: actions/checkout@v3
        name: Check out repo

      - uses: dtolnay/rust-toolchain@master
        name: Install toolchain
        with:
          toolchain: ${{ matrix.rust }}

      - name: Build package (default features)
        run: cargo build

      - name: Build package (all features)
        run: cargo build --all-features

      - name: Test all features
        id: test
        run: cargo test --all-features -- --include-ignored

      - name: Commit failed proptest
        if: failure() && steps.test.conclusion == 'failure'
        run: |
          git config --global user.name "GitHub Actions Bot"
          git config --global user.email "<>"
          git pull
          git add proptest-regressions
          git commit -m "Add failed proptest"
          git push