diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aeabf67..0e56ace 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,16 +13,34 @@ on: jobs: tests: timeout-minutes: 20 - name: Test on Python ${{ matrix.python-version }} - runs-on: ubuntu-24.04 + name: Test on ${{ matrix.os }} Python ${{ matrix.python-version }} + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] + # Execute tests on python 3.9-3.14 on ubuntu + # and python 3.14 on macOS and windows + include: + - os: ubuntu-24.04 + python-version: "3.9" + - os: ubuntu-24.04 + python-version: "3.10" + - os: ubuntu-24.04 + python-version: "3.11" + - os: ubuntu-24.04 + python-version: "3.12" + - os: ubuntu-24.04 + python-version: "3.13" + - os: ubuntu-24.04 + python-version: "3.14" + - os: macos-26 + python-version: "3.14" + - os: windows-2025 + python-version: "3.14" steps: - name: Clone repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # 6.0.3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # 6.2.0 @@ -30,7 +48,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install uv - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # 8.1.0 + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # 8.2.0 - name: Set up JDK 26 uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # 5.2.0 @@ -40,7 +58,7 @@ jobs: - name: Test with pytest run: | - make test + uv run --group tests --locked pytest lint: timeout-minutes: 10 @@ -48,10 +66,10 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Clone repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # 6.0.3 - name: Install uv - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # 8.1.0 + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # 8.2.0 - name: Run Ruff Linter run: | @@ -63,10 +81,10 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Clone repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # 6.0.3 - name: Install uv - uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # 8.1.0 + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # 8.2.0 - name: Run Mypy Type Checker run: |