@@ -30,14 +30,14 @@ jobs:
3030 build :
3131 runs-on : ubuntu-latest
3232 steps :
33- - uses : actions/checkout@v6
33+ - uses : actions/checkout@v4
3434 with :
3535 fetch-depth : 0
3636 - name : Install the latest version of uv
37- uses : astral-sh/setup-uv@v7
37+ uses : astral-sh/setup-uv@v5
3838 - run : uv build
3939 - run : uvx twine check dist/*
40- - uses : actions/upload-artifact@v7
40+ - uses : actions/upload-artifact@v4
4141 with :
4242 name : dist
4343 path : dist/
@@ -49,32 +49,26 @@ jobs:
4949 matrix :
5050 package : ["wheel", "sdist"]
5151 steps :
52- - uses : actions/download-artifact@v8
52+ - uses : actions/download-artifact@v4
5353 with :
5454 name : dist
5555 path : dist/
56- - name : Verify artifacts are present
57- run : |
58- ls -l . dist/
59- wheel_file=$(find dist -name 'nipype-*.whl' | head -n 1)
60- tar_file=$(find dist -name 'nipype-*.tar.gz' | head -n 1)
61-
62- echo "WHEEL=$wheel_file" >> $GITHUB_ENV
63- echo "SDIST=$tar_file" >> $GITHUB_ENV
64- - name : Install Python
65- uses : actions/setup-python@v6
56+ - uses : actions/setup-python@v5
6657 with :
67- python-version : " 3.13 "
58+ python-version : 3
6859 - name : Display Python version
6960 run : python -c "import sys; print(sys.version)"
61+ - name : Update pip
62+ run : pip install --upgrade pip
7063 - name : Install wheel
71- run : pip install $WHEEL[tests]
64+ run : pip install dist/nipype-*.whl
7265 if : matrix.package == 'wheel'
7366 - name : Install sdist
74- run : pip install $SDIST[tests]
67+ run : pip install dist/nipype-*.tar.gz
7568 if : matrix.package == 'sdist'
76- - name : Display nipype version
77- run : python -c 'import nipype; print(nipype.__version__)'
69+ - run : python -c 'import nipype; print(nipype.__version__)'
70+ - name : Install test extras
71+ run : pip install nipype[tests]
7872 - name : Run tests
7973 run : pytest --doctest-modules -v --pyargs nipype
8074
@@ -84,59 +78,62 @@ jobs:
8478 strategy :
8579 matrix :
8680 os : ["ubuntu-latest"]
87- python-version : ["3.10", "3.11", "3.12", "3.13"]
88- dependencies : [none, full]
81+ python-version : ["3.9", "3. 10", "3.11", "3.12", "3.13"]
82+ dependencies : [none, full, pre ]
8983 include :
9084 - os : ubuntu-latest
91- python-version : " 3.10 "
85+ python-version : " 3.9 "
9286 dependencies : min
9387 exclude :
9488 # Skip some intermediate versions for full tests
95- - python-version : " 3.11 "
89+ - python-version : " 3.10 "
9690 dependencies : full
97- - python-version : " 3.12 "
91+ - python-version : " 3.11 "
9892 dependencies : full
93+ # Do not test pre-releases for versions out of SPEC0
94+ - python-version : " 3.9"
95+ dependencies : pre
96+ - python-version : " 3.10"
97+ dependencies : pre
9998
10099 env :
101100 DEPENDS : ${{ matrix.dependencies }}
102101
103102 steps :
104- - uses : actions/checkout@v6
105- with :
106- fetch-depth : 0
103+ - uses : actions/checkout@v4
107104 - name : Install the latest version of uv
108- uses : astral-sh/setup-uv@v7
105+ uses : astral-sh/setup-uv@v5
106+ - name : Set up Python ${{ matrix.python-version }}
107+ uses : actions/setup-python@v5
109108 with :
110109 python-version : ${{ matrix.python-version }}
111110 - name : Display Python version
112111 run : python -c "import sys; print(sys.version)"
113112 - name : Install tox
114113 run : |
115- uv tool install --with=tox-uv --with=tox-gh-actions tox
114+ uv tool install tox --with=tox-uv --with=tox-gh-actions
116115 - name : Show tox config
117116 run : tox c
118- - name : Setup test suite
119- run : tox run -vv --notest
120117 - name : Run tox
121- run : tox -v --skip-pkg-install -- exit-and-dump-after 1200
118+ run : tox -v --exit-and-dump-after 1200
122119 - uses : codecov/codecov-action@v5
123120 with :
124121 token : ${{ secrets.CODECOV_TOKEN }}
125122 if : ${{ always() }}
126123 - name : Upload pytest test results
127- uses : actions/upload-artifact@v7
124+ uses : actions/upload-artifact@v4
128125 with :
129- name : pytest-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.dependencies }}
126+ name : pytest-results-${{ matrix.os }}-${{ matrix.python-version }}-${{ matrix.deb-depends }}
130127 path : test-results.xml
131- if : always()
128+ if : ${{ always() && matrix.check == 'test' }}
132129
133130 publish :
134131 runs-on : ubuntu-latest
135132 environment : " Package deployment"
136133 needs : [test, test-package]
137134 if : github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
138135 steps :
139- - uses : actions/download-artifact@v8
136+ - uses : actions/download-artifact@v4
140137 with :
141138 name : dist
142139 path : dist/
@@ -153,12 +150,12 @@ jobs:
153150 check : ['specs', 'style']
154151
155152 steps :
156- - uses : actions/checkout@v6
153+ - uses : actions/checkout@v4
157154 - name : Install the latest version of uv
158- uses : astral-sh/setup-uv@v7
159- - name : Install tox
160- run : uv tool install --with= tox-uv tox
155+ uses : astral-sh/setup-uv@v5
156+ - name : Show tox config
157+ run : uvx tox c
161158 - name : Show tox config (this call)
162- run : tox c -e ${{ matrix.check }}
159+ run : uvx tox c -e ${{ matrix.check }}
163160 - name : Run check
164- run : tox -e ${{ matrix.check }}
161+ run : uvx tox -e ${{ matrix.check }}
0 commit comments