| name: Build |
| on: |
| push: |
| branches: |
| - main |
| |
| pull_request: |
| branches: |
| - main |
| |
| jobs: |
| test: |
| strategy: |
| matrix: |
| python-version: |
| - "3.8" |
| - "3.9" |
| - "3.10" |
| - "3.11" |
| - "3.12" |
| os: |
| - macos |
| - ubuntu |
| - windows |
| |
| name: tests |
| runs-on: ${{ matrix.os }}-latest |
| steps: |
| - uses: actions/checkout@v4.1.1 |
| |
| - uses: actions/setup-python@v5.0.0 |
| with: |
| python-version: ${{ matrix.python-version }} |
| |
| - run: pip install . |
| |
| - run: pip install pytest |
| |
| - name: run tests |
| run: pytest |
| |
| lint: |
| name: pre-commit |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4.1.1 |
| |
| - uses: actions/setup-python@v5.0.0 |
| with: |
| python-version: 3.x |
| |
| - name: install package |
| run: pip install . tomli |
| |
| - name: run pre-commit |
| uses: pre-commit/action@v3.0.1 |
| |
| fuzz: |
| name: fuzz |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v4.1.1 |
| |
| - uses: actions/setup-python@v5.0.0 |
| with: |
| python-version: 3.x |
| |
| - run: pip install . |
| |
| - name: run fuzz |
| run: python test_fuzz.py ./*.py |