@@ -13,43 +13,41 @@ jobs:
1313
1414 strategy :
1515 matrix :
16+ env : [3.9, "3.10", 3.11, 3.12, 3.13]
1617 # We don't test on Windows currently due to issues
1718 # build libmaxminddb there.
18- platform : [macos-latest, ubuntu-latest]
19- python-version : [3.9, "3.10", 3.11, 3.12, 3.13]
19+ os : [ubuntu-latest, ubuntu-24.04-arm, macos-latest]
2020
21- name : Python ${{ matrix.python-version }} on ${{ matrix.platform }}
22- runs-on : ${{ matrix.platform }}
21+ name : Python ${{ matrix.env }} on ${{ matrix.os }}
22+ runs-on : ${{ matrix.os }}
2323 env :
2424 MAXMINDDB_REQUIRE_EXTENSION : 1
2525 MAXMINDDB_USE_SYSTEM_LIBMAXMINDDB : 1
2626 MM_FORCE_EXT_TESTS : 1
2727
2828 steps :
29- - name : Checkout
30- uses : actions/checkout@v4
29+ - uses : actions/checkout@v4
3130 with :
3231 submodules : true
3332 persist-credentials : false
3433
35- - name : Set up Python ${{ matrix.python-version }}
36- uses : actions/setup-python@v5
37- with :
38- python-version : ${{ matrix.python-version }}
34+ - name : Install the latest version of uv
35+ uses : astral-sh/setup-uv@v3
3936
40- - name : Install dependencies
41- run : |
42- python -m pip install --upgrade pip
43- pip install setuptools tox tox-gh-actions uv wheel
37+ - name : Install tox
38+ run : uv tool install --python-preference only-managed --python 3.13 tox --with tox-uv --with tox-gh
4439
40+ - name : Install Python
41+ if : matrix.env != '3.13'
42+ run : uv python install --python-preference only-managed ${{ matrix.env }}
4543
4644 - name : Install libmaxminddb
4745 run : sudo apt install libmaxminddb-dev
48- if : matrix.platform == 'ubuntu-latest'
46+ if : matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm '
4947
5048 - name : Install libmaxminddb
5149 run : brew install libmaxminddb
52- if : matrix.platform == 'macos-latest'
50+ if : matrix.os == 'macos-latest'
5351
5452 - name : " Work around macos arm64 homebrew directory changes"
5553 if : runner.os == 'macOS' && runner.arch == 'ARM64'
6260 env :
6361 CFLAGS : " ${{ env.CFLAGS }} -Werror -Wall -Wextra"
6462
65- - name : Test with tox (system libmaxminddb)
66- run : tox
63+ - name : Setup test suite
64+ run : tox run -vv --notest --skip-missing-interpreters false
65+ env :
66+ TOX_GH_MAJOR_MINOR : ${{ matrix.env }}
67+
68+ - name : Run test suite
69+ run : tox run --skip-pkg-install
70+ env :
71+ TOX_GH_MAJOR_MINOR : ${{ matrix.env }}
0 commit comments