3131 steps :
3232 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3333 - name : Set up Python 3.11
34- uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
34+ uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
3535 with :
3636 python-version : 3.11
3737 - run : python -m pip install pre-commit
@@ -70,22 +70,13 @@ jobs:
7070 apt update
7171 apt install -y libssl-dev
7272 - name : Set up Python ${{ matrix.python-version }}
73- uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
73+ uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
7474 with :
7575 python-version : ${{ matrix.python-version }}
76- - name : Get pip cache dir
77- id : pip-cache
78- run : |
79- python -m pip install --upgrade pip wheel
80- echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
81- - name : pip cache
82- uses : actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
83- with :
84- path : ${{ steps.pip-cache.outputs.dir }}
85- key : ${{ runner.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('**/setup.py', '**/requirements.txt', '**/test-requirements.txt') }}
8676 - name : Install dependencies
8777 run : |
88- pip install .[minimum-jaxlib] -r build/test-requirements.txt
78+ pip install uv
79+ uv pip install --system .[minimum-jaxlib] -r build/test-requirements.txt
8980
9081 - name : Run tests
9182 env :
@@ -117,30 +108,21 @@ jobs:
117108 steps :
118109 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
119110 - name : Set up Python ${{ matrix.python-version }}
120- uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
111+ uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
121112 with :
122113 python-version : ${{ matrix.python-version }}
123- - name : Get pip cache dir
124- id : pip-cache
125- run : |
126- python -m pip install --upgrade pip wheel
127- echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
128- - name : pip cache
129- uses : actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
130- with :
131- path : ${{ steps.pip-cache.outputs.dir }}
132- key : ${{ runner.os }}-pip-docs-${{ hashFiles('**/setup.py', '**/requirements.txt', '**/test-requirements.txt') }}
133114 - name : Install dependencies
134115 run : |
135- pip install -r docs/requirements.txt
116+ pip install uv
117+ uv pip install --system -r docs/requirements.txt
136118 - name : Test documentation
137119 env :
138120 XLA_FLAGS : " --xla_force_host_platform_device_count=8"
139121 JAX_TRACEBACK_FILTERING : " off"
140122 JAX_ARRAY : 1
141123 PY_COLORS : 1
142124 run : |
143- pytest -n auto --tb=short --doctest-glob='*.md' --doctest-glob='*.rst' docs --doctest-continue-on-failure --ignore=docs/multi_process.md
125+ pytest -n auto --tb=short --doctest-glob='*.md' --doctest-glob='*.rst' docs --doctest-continue-on-failure --ignore=docs/multi_process.md
144126 pytest -n auto --tb=short --doctest-modules jax --ignore=jax/config.py --ignore=jax/experimental/jax2tf --ignore=jax/_src/lib/mlir --ignore=jax/_src/lib/triton.py --ignore=jax/_src/lib/mosaic_gpu.py --ignore=jax/interpreters/mlir.py --ignore=jax/experimental/array_serialization --ignore=jax/collect_profile.py --ignore=jax/_src/tpu_custom_call.py --ignore=jax/experimental/mosaic --ignore=jax/experimental/pallas --ignore=jax/_src/pallas --ignore=jax/lib/xla_extension.py
145127
146128
@@ -160,22 +142,13 @@ jobs:
160142 apt update
161143 apt install -y libssl-dev libsqlite3-dev
162144 - name : Set up Python ${{ matrix.python-version }}
163- uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
145+ uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
164146 with :
165147 python-version : ${{ matrix.python-version }}
166- - name : Get pip cache dir
167- id : pip-cache
168- run : |
169- python -m pip install --upgrade pip wheel
170- echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
171- - name : pip cache
172- uses : actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
173- with :
174- path : ${{ steps.pip-cache.outputs.dir }}
175- key : ${{ runner.os }}-pip-docs-${{ hashFiles('**/setup.py', '**/requirements.txt', '**/test-requirements.txt') }}
176148 - name : Install dependencies
177149 run : |
178- pip install -r docs/requirements.txt
150+ pip install uv
151+ uv pip install --system -r docs/requirements.txt
179152 - name : Render documentation
180153 run : |
181154 sphinx-build -j auto --color -W --keep-going -b html -D nb_execution_mode=off docs docs/build/html
@@ -195,22 +168,13 @@ jobs:
195168 steps :
196169 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
197170 - name : Set up Python ${{ matrix.python-version }}
198- uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
171+ uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
199172 with :
200173 python-version : ${{ matrix.python-version }}
201- - name : Get pip cache dir
202- id : pip-cache
203- run : |
204- python -m pip install --upgrade pip wheel
205- echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
206- - name : pip cache
207- uses : actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
208- with :
209- path : ${{ steps.pip-cache.outputs.dir }}
210- key : ${{ runner.os }}-py${{ matrix.python-version }}-pip-${{ hashFiles('**/setup.py', '**/requirements.txt', '**/test-requirements.txt') }}
211174 - name : Install dependencies
212175 run : |
213- pip install .[minimum-jaxlib] tensorflow -r build/test-requirements.txt
176+ pip install uv
177+ uv pip install --system .[minimum-jaxlib] tensorflow -r build/test-requirements.txt
214178
215179 - name : Run tests
216180 env :
@@ -236,23 +200,15 @@ jobs:
236200 steps :
237201 - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
238202 - name : Set up Python
239- uses : actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3 .0
203+ uses : actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4 .0
240204 with :
241205 python-version : 3.12
242- - name : Get pip cache dir
243- id : pip-cache
244- run : |
245- python -m pip install --upgrade pip wheel
246- echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
247- - name : pip cache
248- uses : actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
249- with :
250- path : ${{ steps.pip-cache.outputs.dir }}
251- key : ${{ runner.os }}-pip-ffi-examples-${{ hashFiles('**/setup.py', '**/requirements.txt', '**/test-requirements.txt', 'examples/**/pyproject.toml') }}
252206 - name : Install JAX
253- run : pip install .[cuda12]
207+ run : |
208+ pip install uv
209+ uv pip install --system .[cuda12]
254210 - name : Build and install example project
255- run : python -m pip install -v ./examples/ffi[test]
211+ run : uv pip install --system ./examples/ffi[test]
256212 env :
257213 # We test building using GCC instead of clang. All other JAX builds use
258214 # clang, but it is useful to make sure that FFI users can compile using
0 commit comments