@@ -16,6 +16,7 @@ concurrency:
1616
1717env :
1818 PACKAGE_NAME : jsonschema_rs
19+ PYTHON_ABI_VERSION : " 3.10"
1920
2021jobs :
2122 sdist :
2728
2829 - uses : Swatinem/rust-cache@v2
2930
30- - uses : hynek /setup-cached- uv@v2
31+ - uses : astral-sh /setup-uv@v7
3132
3233 - run : uv python install "3.12"
3334
@@ -50,104 +51,100 @@ jobs:
5051
5152 macos-x86_64 :
5253 runs-on : macos-13
53- strategy :
54- matrix :
55- python-version : [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ]
5654 steps :
5755 - uses : actions/checkout@v5
56+ - uses : astral-sh/setup-uv@v7
5857 - uses : actions/setup-python@v6
5958 with :
60- python-version : ${{ matrix.python-version }}
59+ python-version : ${{ env.PYTHON_ABI_VERSION }}
6160 architecture : x64
6261 - uses : dtolnay/rust-toolchain@stable
6362 - name : Build wheels - x86_64
6463 uses : messense/maturin-action@v1
6564 with :
6665 target : x86_64
67- args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ matrix.python-version }}
66+ args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ env.PYTHON_ABI_VERSION }}
6867 - name : Install built wheel - x86_64
6968 run : |
70- pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
69+ uv pip install --python ${{ env.PYTHON_ABI_VERSION }} dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
7170 - name : Upload wheels
7271 uses : actions/upload-artifact@v5
7372 with :
74- name : wheel-macos-x86_64-py${{ matrix.python-version }}
73+ name : wheel-macos-x86_64
7574 path : dist
7675
7776 macos-universal :
7877 runs-on : macos-13
79- strategy :
80- matrix :
81- python-version : [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ]
8278 steps :
8379 - uses : actions/checkout@v5
80+ - uses : astral-sh/setup-uv@v7
8481 - uses : actions/setup-python@v6
8582 with :
86- python-version : ${{ matrix.python-version }}
83+ python-version : ${{ env.PYTHON_ABI_VERSION }}
8784 architecture : x64
8885 - uses : dtolnay/rust-toolchain@stable
8986 - name : Build wheels - universal2
9087 uses : messense/maturin-action@v1
9188 with :
92- args : --release -m crates/jsonschema-py/Cargo.toml --target universal2-apple-darwin --out dist --interpreter ${{ matrix.python-version }}
89+ args : --release -m crates/jsonschema-py/Cargo.toml --target universal2-apple-darwin --out dist --interpreter ${{ env.PYTHON_ABI_VERSION }}
9390 - name : Install built wheel - universal2
9491 run : |
95- pip install dist/${{ env.PACKAGE_NAME }}-*universal2.whl --force-reinstall
92+ uv pip install --python ${{ env.PYTHON_ABI_VERSION }} dist/${{ env.PACKAGE_NAME }}-*universal2.whl --force-reinstall
9693 - name : Upload wheels
9794 uses : actions/upload-artifact@v5
9895 with :
99- name : wheel-macos-universal-py${{ matrix.python-version }}
96+ name : wheel-macos-universal
10097 path : dist
10198
10299 windows :
103100 runs-on : windows-2022
104101 strategy :
105102 matrix :
106- python-version : [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ]
107103 target : [ x64, x86 ]
108104 steps :
109105 - uses : actions/checkout@v5
106+ - uses : astral-sh/setup-uv@v7
110107 - uses : actions/setup-python@v6
111108 with :
112- python-version : ${{ matrix.python-version }}
109+ python-version : ${{ env.PYTHON_ABI_VERSION }}
113110 architecture : ${{ matrix.target }}
114111 - uses : dtolnay/rust-toolchain@stable
115112 - name : Build wheels
116113 uses : messense/maturin-action@v1
117114 with :
118115 target : ${{ matrix.target }}
119- args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ matrix.python-version }}
116+ args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ env.PYTHON_ABI_VERSION }}
120117 - name : Install built wheel
121118 shell : bash
122119 run : |
123- python -m pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
120+ uv pip install --python ${{ env.PYTHON_ABI_VERSION }} dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
124121 - name : Upload wheels
125122 uses : actions/upload-artifact@v5
126123 with :
127- name : wheel-windows-${{ matrix.target }}-py${{ matrix.python-version }}
124+ name : wheel-windows-${{ matrix.target }}
128125 path : dist
129126
130127 linux :
131128 runs-on : ubuntu-22.04
132129 strategy :
133130 matrix :
134- python-version : [ '3.8', '3.9', '3.10', '3.11', '3.12', '3.13', '3.14' ]
135131 target : [ x86_64, i686, aarch64 ]
136132 steps :
137133 - uses : actions/checkout@v5
134+ - uses : astral-sh/setup-uv@v7
138135 - uses : actions/setup-python@v6
139136 with :
140- python-version : ${{ matrix.python-version }}
137+ python-version : ${{ env.PYTHON_ABI_VERSION }}
141138 - name : Build wheels
142139 uses : messense/maturin-action@v1
143140 with :
144141 target : ${{ matrix.target }}
145142 manylinux : auto
146- args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ matrix.python-version }}
143+ args : --release -m crates/jsonschema-py/Cargo.toml --out dist --interpreter ${{ env.PYTHON_ABI_VERSION }}
147144 - name : Install built wheel on native architecture
148145 if : matrix.target == 'x86_64'
149146 run : |
150- pip install dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
147+ uv pip install --python ${{ env.PYTHON_ABI_VERSION }} dist/${{ env.PACKAGE_NAME }}-*.whl --force-reinstall
151148 - uses : uraimo/run-on-arch-action@v3
152149 if : matrix.target == 'aarch64'
153150 name : Install built wheel on ARM architecture
@@ -161,15 +158,15 @@ jobs:
161158 apt-get install -y --no-install-recommends software-properties-common gpg gpg-agent curl
162159 add-apt-repository ppa:deadsnakes/ppa
163160 apt-get update
164- apt-get install -y python${{ matrix.python-version }}-dev python${{ matrix.python-version }}-venv
161+ apt-get install -y python${{ env.PYTHON_ABI_VERSION }}-dev python${{ env.PYTHON_ABI_VERSION }}-venv
165162 run : |
166- python${{ matrix.python-version }} -m venv venv
163+ python${{ env.PYTHON_ABI_VERSION }} -m venv venv
167164 venv/bin/pip install -U pip wheel
168165 venv/bin/pip install ${{ env.PACKAGE_NAME }} --no-index --find-links dist/ --force-reinstall
169166 - name : Upload wheels
170167 uses : actions/upload-artifact@v5
171168 with :
172- name : wheel-linux-${{ matrix.target }}-py${{ matrix.python-version }}
169+ name : wheel-linux-${{ matrix.target }}
173170 path : dist
174171
175172 release :
0 commit comments