Add allocation counters for native matching tables #286
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: tests | |
| on: | |
| push: | |
| # Note: "**" is required to match branch names containing '/' | |
| branches: [ "**" ] | |
| pull_request: | |
| branches: [ "**" ] | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest] | |
| python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "pypy3.11"] | |
| # The Windows and macOS wheels are built from the same sources, | |
| # so test at least one Python version on each of those platforms | |
| include: | |
| - os: windows-latest | |
| python-version: "3.13" | |
| - os: macos-latest | |
| python-version: "3.13" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| # Exact tag: setup-uv has no floating 'v8' major tag (unlike v6/v7) | |
| uses: astral-sh/setup-uv@v8.3.2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install GreynirEngine | |
| run: uv sync --locked | |
| - name: Lint with ruff | |
| run: uv run ruff check src/reynir | |
| - name: Type check with mypy | |
| # mypy is not installed on PyPy (see [dependency-groups] in pyproject.toml) | |
| if: ${{ !startsWith(matrix.python-version, 'pypy') }} | |
| run: uv run mypy src/reynir | |
| - name: Test with pytest | |
| run: uv run pytest | |
| - name: Slack notification | |
| uses: 8398a7/action-slack@v3 | |
| with: | |
| status: ${{ job.status }} | |
| author_name: Integration Testing (Python ${{ matrix.python-version }}) | |
| env: | |
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | |
| if: failure() # Pick up event if the job fails |