@@ -28,17 +28,32 @@ jobs:
2828 python-version : 3.12
2929 - uses : pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # v3.0.1
3030 build :
31- name : ${{ matrix.os }} Python ${{ matrix.python-version }}
31+ name : ${{ matrix.os }} Python ${{ matrix.python-version }} freethreaded ${{ matrix.freethreaded }}
3232 runs-on : ${{ matrix.os }}
3333 strategy :
3434 matrix :
3535 os : ["ubuntu-latest"]
36- python-version : ["3.9", "3.10", "3.11", "3.12", "3.13"]
36+ python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14.0-rc.1"]
37+ freethreaded : [false, true]
38+ exclude :
39+ - python-version : 3.9
40+ freethreaded : true
41+ - python-version : 3.10
42+ freethreaded : true
43+ - python-version : 3.11
44+ freethreaded : true
45+ - python-version : 3.12
46+ freethreaded : true
3747 include :
3848 - os : macos-14
3949 python-version : " 3.12"
50+ freethreaded : false
4051 - os : windows-2022
4152 python-version : " 3.12"
53+ freethreaded : false
54+ - os : windows-11-arm
55+ python-version : " 3.12"
56+ freethreaded : false
4257
4358 steps :
4459 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
4964 uses : actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
5065 with :
5166 python-version : ${{ matrix.python-version }}
67+ freethreaded : ${{ matrix.freethreaded }}
5268 - name : Install dependencies
5369 run : |
5470 python -m pip install --upgrade pip
@@ -104,32 +120,3 @@ jobs:
104120 - name : Run tests
105121 run : |
106122 pytest -n auto
107- build-free-threading :
108- # Later we can merge this job with build similarly to
109- # https://github.com/python-pillow/Pillow/blob/f0d8fd3059bc1b291563d8a0b1f224b6fd7d0b90/.github/workflows/test.yml#L56-L57
110- name : Python 3.13 with free-threading
111- runs-on : ubuntu-latest
112- steps :
113- - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
114- with :
115- submodules : true
116- persist-credentials : false
117- - name : Set up Python 3.13 with free-threading
118- # TODO: replace with setup-python when there is support
119- uses : deadsnakes/action@e640ac8743173a67cca4d7d77cd837e514bf98e8 # v3.2.0
120- with :
121- python-version : ' 3.13-dev'
122- nogil : true
123- - name : Install dependencies
124- run : |
125- python -m pip install --upgrade pip
126- python -m pip install setuptools wheel
127- python -m pip install -U --pre numpy \
128- -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
129- python -c "import numpy; print(f'{numpy.__version__=}')"
130- - name : Build ml_dtypes
131- run : |
132- python -m pip install .[dev] --no-build-isolation
133- - name : Run tests
134- run : |
135- pytest -n auto
0 commit comments