@@ -2,7 +2,7 @@ version: 2
2
2
jobs :
3
3
build_pytest :
4
4
machine :
5
- image : ubuntu-2004:202107-02
5
+ image : default
6
6
working_directory : /tmp/src/nitransforms
7
7
environment :
8
8
TZ : " /usr/share/zoneinfo/America/Los_Angeles"
12
12
- checkout
13
13
- restore_cache :
14
14
keys :
15
- - env-v3 -{{ .Branch }}-
16
- - env-v3 -master-
17
- - env-v3 -
15
+ - env-v6 -{{ .Branch }}-
16
+ - env-v6 -master-
17
+ - env-v6 -
18
18
- run :
19
19
name : Setup git-annex
20
20
command : |
@@ -29,17 +29,14 @@ jobs:
29
29
- run :
30
30
name : Setup DataLad
31
31
command : |
32
- export PY3=$(pyenv versions | grep '3\.' |
33
- sed -e 's/.* 3\./3./' -e 's/ .*//')
34
- pyenv local $PY3
35
- python -m pip install --no-cache-dir -U pip "setuptools >= 45.0" "setuptools_scm[toml] >= 3.4"
36
- python -m pip install --no-cache-dir -U datalad datalad-osf
32
+ python3 -m pip install --no-cache-dir -U pip "setuptools >= 45.0" "setuptools_scm[toml] >= 6.2"
33
+ python3 -m pip install --no-cache-dir -U datalad datalad-osf
37
34
38
35
- save_cache :
39
- key : env-v3 -{{ .Branch }}-{{ .BuildNum }}
36
+ key : env-v6 -{{ .Branch }}-{{ .BuildNum }}
40
37
paths :
41
38
- /opt/circleci/git-annex.linux
42
- - /opt/circleci/.pyenv/versions/3.9.4
39
+ - /opt/circleci/.pyenv/versions
43
40
44
41
- restore_cache :
45
42
keys :
49
46
- run :
50
47
name : Install test data from GIN
51
48
command : |
52
- export PY3=$(pyenv versions | grep '3\.' |
53
- sed -e 's/.* 3\./3./' -e 's/ .*//')
54
- pyenv local $PY3
55
49
export PATH=/opt/circleci/git-annex.linux:$PATH
50
+ pyenv local 3
51
+ eval "$(pyenv init --path)"
56
52
mkdir -p /tmp/data
57
53
cd /tmp/data
58
54
datalad install -r https://gin.g-node.org/oesteban/nitransforms-tests
@@ -98,15 +94,12 @@ jobs:
98
94
name : Build Docker image & push to registry
99
95
no_output_timeout : 60m
100
96
command : |
101
- export PY3=$(pyenv versions | grep '3\.' |
102
- sed -e 's/.* 3\./3./' -e 's/ .*//')
103
- pyenv local $PY3
104
97
e=1 && for i in {1..5}; do
105
98
docker build --rm --cache-from=nitransforms:latest \
106
99
-t nitransforms:latest \
107
100
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
108
101
--build-arg VCS_REF=`git rev-parse --short HEAD` \
109
- --build-arg VERSION=$( python3 setup.py --version ) . \
102
+ --build-arg VERSION=$( python3 -m setuptools_scm ) . \
110
103
&& e=0 && break || sleep 15
111
104
done && [ "$e" -eq "0" ]
112
105
docker tag nitransforms:latest localhost:5000/nitransforms
@@ -123,10 +116,7 @@ jobs:
123
116
- run :
124
117
name : Check version packaged in Docker image
125
118
command : |
126
- export PY3=$(pyenv versions | grep '3\.' |
127
- sed -e 's/.* 3\./3./' -e 's/ .*//')
128
- pyenv local $PY3
129
- THISVERSION=${CIRCLE_TAG:-$(python3 setup.py --version)}
119
+ THISVERSION=${CIRCLE_TAG:-$(python3 -m setuptools_scm)}
130
120
INSTALLED_VERSION=$(\
131
121
docker run -it --rm --entrypoint=python nitransforms \
132
122
-c 'import nitransforms as nit; print(nit.__version__, end="")' )
@@ -141,13 +131,14 @@ jobs:
141
131
echo "cHJpbnRmICJrcnp5c3p0b2YuZ29yZ29sZXdza2lAZ21haWwuY29tXG41MTcyXG4gKkN2dW12RVYzelRmZ1xuRlM1Si8yYzFhZ2c0RVxuIiA+IGxpY2Vuc2UudHh0Cg==" | base64 -d | sh
142
132
- run :
143
133
name : Get codecov
144
- command : python -m pip install codecov
134
+ command : python3 -m pip install codecov
145
135
- run :
146
136
name : Run unit tests
147
137
no_output_timeout : 2h
148
138
command : |
149
139
mkdir -p /tmp/tests/{artifacts,summaries}
150
- docker run -u $( id -u ) -it --rm -w /src/nitransforms \
140
+ docker run -u $( id -u ) -it --rm \
141
+ -w /src/nitransforms -v $PWD:/src/nitransforms \
151
142
-v /tmp/data/nitransforms-tests:/data -e TEST_DATA_HOME=/data \
152
143
-e COVERAGE_FILE=/tmp/summaries/.pytest.coverage \
153
144
-v /tmp/fslicense/license.txt:/opt/freesurfer/license.txt:ro \
@@ -159,7 +150,7 @@ jobs:
159
150
name : Submit unit test coverage
160
151
command : |
161
152
cd /tmp/src/nitransforms
162
- python -m codecov --file /tmp/tests/summaries/unittests.xml \
153
+ python3 -m codecov --file /tmp/tests/summaries/unittests.xml \
163
154
--flags unittests -e CIRCLE_JOB
164
155
- run :
165
156
name : Clean up tests directory
@@ -186,9 +177,9 @@ jobs:
186
177
command : |
187
178
python3 -m venv /tmp/buildenv
188
179
source /tmp/buildenv/bin/activate
189
- python3 -m pip install "setuptools >= 45.0" wheel "setuptools_scm[toml] >= 3.4 " \
180
+ python3 -m pip install "setuptools >= 45.0" build wheel "setuptools_scm[toml] >= 6.2 " \
190
181
"pip>=10.0.1" twine docutils
191
- python setup.py sdist bdist_wheel
182
+ python3 -m build
192
183
twine check dist/nitransforms*
193
184
- store_artifacts :
194
185
path : /tmp/src/nitransforms/dist
@@ -200,9 +191,9 @@ jobs:
200
191
command : |
201
192
python3 -m venv /tmp/install_sdist
202
193
source /tmp/install_sdist/bin/activate
203
- python3 -m pip install "setuptools >= 45.0" "pip>=10.0.1"
194
+ python3 -m pip install "setuptools >= 45.0" "pip>=10.0.1" "setuptools_scm[toml] >= 6.2"
204
195
205
- THISVERSION=$( python3 setup.py --version )
196
+ THISVERSION=$( python3 -m setuptools_scm )
206
197
THISVERSION=${CIRCLE_TAG:-$THISVERSION}
207
198
python3 -m pip install dist/nitransforms*.tar.gz
208
199
INSTALLED_VERSION=$(python3 -c 'import nitransforms as nit; print(nit.__version__, end="")')
@@ -214,9 +205,9 @@ jobs:
214
205
command : |
215
206
python3 -m venv /tmp/install_wheel
216
207
source /tmp/install_wheel/bin/activate
217
- python3 -m pip install "setuptools >= 45.0" "pip>=10.0.1"
208
+ python3 -m pip install "setuptools >= 45.0" "pip>=10.0.1" "setuptools_scm[toml] >= 6.2"
218
209
219
- THISVERSION=$( python3 setup.py --version )
210
+ THISVERSION=$( python3 -m setuptools_scm )
220
211
THISVERSION=${CIRCLE_TAG:-$THISVERSION}
221
212
python3 -m pip install dist/nitransforms*.whl
222
213
INSTALLED_VERSION=$(python3 -c 'import nitransforms as nit; print(nit.__version__, end="")')
0 commit comments