@@ -25,45 +25,32 @@ jobs:
2525 include :
2626 - python : " 3.12"
2727 os : macos-latest
28- pip-flags : " --pre "
28+ pre-release : " allow "
2929 name : " Python 3.12 (pre-release)"
3030
3131 env :
3232 OS : ${{ matrix.os }}
3333 PYTHON : ${{ matrix.python }}
34+ UV_PRERELEASE : ${{ matrix.pre-release || 'disallow' }}
3435
3536 steps :
36- - uses : actions/checkout@v3
37+ - uses : actions/checkout@v5
3738 - name : Set up Python ${{ matrix.python }}
38- uses : actions /setup-python@v5
39+ uses : astral-sh /setup-uv@v6
3940 with :
4041 python-version : ${{ matrix.python }}
41-
42- - name : Get pip cache dir
43- id : pip-cache-dir
44- run : |
45- echo "::set-output name=dir::$(pip cache dir)"
46-
47- - name : Restore pip cache
48- uses : actions/cache@v3
49- with :
50- path : ${{ steps.pip-cache-dir.outputs.dir }}
51- key : pip-${{ runner.os }}-${{ env.pythonLocation }}-${{ hashFiles('**/requirements.txt') }}
52- restore-keys : |
53- pip-${{ runner.os }}-${{ env.pythonLocation }}-
42+ enable-cache : true
5443
5544 - name : Install dependencies
5645 run : |
5746 ./.scripts/ci/install_dependencies.sh
5847
5948 - name : Install pip dependencies
60- run : |
61- python -m pip install --upgrade pip
62- pip install tox tox-gh-actions
49+ run : uv tool install tox --with=tox-uv --with=tox-gh-actions
6350
6451 - name : Restore data cache
6552 id : data-cache
66- uses : actions/cache@v3
53+ uses : actions/cache@v4
6754 with :
6855 path : |
6956 ~/.cache/squidpy/*.h5ad
@@ -77,10 +64,10 @@ jobs:
7764 # caching .tox is not encouraged, but since we're private and this shaves off ~1min from the step
7865 # if any problems occur and/or once the package is public, this can be removed
7966 - name : Restore tox cache
80- uses : actions/cache@v3
67+ uses : actions/cache@v4
8168 with :
8269 path : .tox
83- key : tox-${{ runner.os }}-${{ env.pythonLocation }}-${{ hashFiles('**/requirements.txt', '**/tox.ini') }}
70+ key : tox-${{ runner.os }}-${{ matrix.python }}-${{ hashFiles('**/requirements.txt', '**/tox.ini') }}
8471
8572 - name : Test
8673 timeout-minutes : 60
@@ -103,8 +90,17 @@ jobs:
10390 path : /home/runner/work/squidpy/squidpy/tests/figures/*
10491
10592 - name : Upload coverage to Codecov
106- uses : codecov/codecov-action@v4
93+ uses : codecov/codecov-action@v5
10794 with :
10895 name : coverage
10996 verbose : true
11097 token : ${{ secrets.CODECOV_TOKEN }} # required
98+
99+ check :
100+ if : always()
101+ needs : [test]
102+ runs-on : ubuntu-latest
103+ steps :
104+ - uses : re-actors/alls-green@release/v1
105+ with :
106+ jobs : ${{ toJSON(needs) }}
0 commit comments