74
74
tfapi.get('MNI152NLin2009cAsym', resolution=2, desc='fMRIPrep', suffix='boldref');"
75
75
76
76
- save_cache :
77
- key : env-v2-{{ .Branch }}-{{ .BuildNum }}
78
- paths :
77
+ key : env-v2-{{ .Branch }}-{{ .BuildNum }}
78
+ paths :
79
79
- /tmp/cache/git-annex-standalone.tar.gz
80
80
- /usr/local/bin
81
81
- /usr/local/lib/python3.7/site-packages
98
98
unzip testdata.zip -d /tmp/data/testdata
99
99
fi
100
100
- save_cache :
101
- key : data-v2-{{ .Branch }}-{{ .BuildNum }}
102
- paths :
101
+ key : data-v2-{{ .Branch }}-{{ .BuildNum }}
102
+ paths :
103
103
- /tmp/data
104
104
- /tmp/templateflow
105
105
@@ -136,13 +136,13 @@ jobs:
136
136
circleci step halt
137
137
fi
138
138
- save_cache :
139
- key : freesurfer-v1-{{ .BuildNum }}
140
- paths :
139
+ key : freesurfer-v1-{{ .BuildNum }}
140
+ paths :
141
141
- /tmp/freesurfer
142
142
143
143
build_n_pytest :
144
144
machine :
145
- image : circleci/classic:201711 -01
145
+ image : circleci/classic:201808 -01
146
146
working_directory : /tmp/tests
147
147
environment :
148
148
TZ : " /usr/share/zoneinfo/America/Los_Angeles"
@@ -187,11 +187,11 @@ jobs:
187
187
no_output_timeout : 60m
188
188
command : |
189
189
cd /tmp/src/sdcflows
190
- export PY3=$( pyenv versions | grep '3\.' |
191
- sed -e 's/.* 3\./3./' -e 's/ .*//')
192
- pyenv local $PY3
190
+ pyenv local 3.7.0
191
+ python3 -m pip install "setuptools ~= 42.0" "setuptools_scm[toml] >= 3.4" "pip>=10.0.1"
192
+
193
193
# Get version, update files.
194
- THISVERSION=$( python3 get_version .py )
194
+ THISVERSION=$( python3 setup .py --version )
195
195
if [[ ${THISVERSION:0:1} == "0" ]] ; then
196
196
echo "WARNING: latest git tag could not be found"
197
197
echo "Please, make sure you fetch all tags from upstream with"
@@ -208,6 +208,7 @@ jobs:
208
208
--build-arg VERSION="${CIRCLE_TAG:-$THISVERSION}" . \
209
209
&& e=0 && break || sleep 15
210
210
done && [ "$e" -eq "0" ]
211
+ echo "${CIRCLE_TAG:-$THISVERSION}" >> /tmp/.local-version.txt
211
212
- run :
212
213
name : Docker push to local registry
213
214
no_output_timeout : 40m
@@ -220,9 +221,19 @@ jobs:
220
221
docker exec -it registry /bin/registry garbage-collect --delete-untagged \
221
222
/etc/docker/registry/config.yml
222
223
- save_cache :
223
- key : build-v2-{{ .Branch }}-{{ epoch }}
224
- paths :
224
+ key : build-v2-{{ .Branch }}-{{ epoch }}
225
+ paths :
225
226
- /tmp/docker
227
+ - run :
228
+ name : Check version packaged in Docker image
229
+ command : |
230
+ docker run --rm -v /tmp:/tmp -v /tmp/src/sdcflows/.circleci/version.py:/usr/share/version.py \
231
+ --entrypoint=python nipreps/sdcflows /usr/share/version.py
232
+ THISVERSION=$( head -n1 /tmp/.local-version.txt )
233
+ INSTALLED_VERSION=$( head -n1 /tmp/.docker-version.txt )
234
+ echo "VERSION: \"${THISVERSION}\""
235
+ echo "INSTALLED: \"${INSTALLED_VERSION}\""
236
+ test "${INSTALLED_VERSION}" = "${THISVERSION}"
226
237
227
238
- restore_cache :
228
239
keys :
@@ -274,11 +285,11 @@ jobs:
274
285
-v /tmp/work:/work -e TEST_WORK_DIR=/work \
275
286
-v /tmp/templateflow:/home/sdcflows/.cache/templateflow \
276
287
-v /tmp/data:/data:ro -v /tmp/src:/src -v /tmp/tests:/out \
277
- -w /work nipreps/sdcflows:latest \
278
- pytest -v --junit-xml=/out/pytest.xml /src/ sdcflows/sdcflows
288
+ -w /src/sdcflows nipreps/sdcflows:latest \
289
+ pytest -v --junit-xml=/out/pytest.xml sdcflows/
279
290
- save_cache :
280
- key : workdir-v2-{{ .Branch }}-{{ .BuildNum }}
281
- paths :
291
+ key : workdir-v2-{{ .Branch }}-{{ .BuildNum }}
292
+ paths :
282
293
- /tmp/work
283
294
- store_artifacts :
284
295
path : /tmp/tests
@@ -302,7 +313,10 @@ jobs:
302
313
command : apt update && apt -y install graphviz
303
314
- run :
304
315
name : Install deps
305
- command : pip install --no-cache-dir -r docs/requirements.txt
316
+ command : |
317
+ pip install --no-cache-dir -r docs/requirements.txt
318
+ pip install --no-cache-dir "setuptools ~= 42.0" "setuptools_scm[toml] >= 3.4"
319
+ python setup.py --version
306
320
- run :
307
321
name : Build only this commit
308
322
command : make -C docs SPHINXOPTS="-W" BUILDDIR="_build/no_version_html" html
@@ -380,119 +394,61 @@ jobs:
380
394
steps :
381
395
- checkout
382
396
- run :
383
- name : Setup Python environment with virtualenvs
384
- command : |
385
- python -m pip install --user --upgrade virtualenv pip
386
- - run :
387
- name : Prepare build environment
388
- command : |
389
- virtualenv --python=python3 /tmp/build
390
- source /tmp/build/bin/activate
391
- python3 -m pip install "setuptools>=30.3.0" "pip>=10.0.1" twine docutils
392
- - run :
393
- name : Prepare install environments
397
+ name : Prepare environment & build
394
398
command : |
395
- virtualenv --python=python3 /tmp/install_sdist
396
- source /tmp/install_sdist/bin/activate
397
- python3 -m pip install "setuptools>=30.3.0" "pip>=10.0.1"
398
- deactivate
399
- virtualenv --python=python3 /tmp/install_wheel
400
- source /tmp/install_wheel/bin/activate
401
- python3 -m pip install "setuptools>=30.3.0" "pip>=10.0.1"
402
- - run :
403
- name : Build SDCflows in build environment
404
- command : |
405
- source /tmp/build/bin/activate
399
+ python3 -m venv /tmp/buildenv
400
+ source /tmp/buildenv/bin/activate
401
+ python3 -m pip install "setuptools ~= 42.0" wheel "setuptools_scm[toml] >= 3.4" \
402
+ "pip>=10.0.1" twine docutils
406
403
python setup.py sdist bdist_wheel
404
+ twine check dist/sdcflows*
407
405
- store_artifacts :
408
406
path : /tmp/src/sdcflows/dist
407
+ - persist_to_workspace :
408
+ root : /tmp/src/sdcflows
409
+ paths : dist
409
410
- run :
410
- name : Check sdist package in build environment
411
- command : |
412
- source /tmp/build/bin/activate
413
- twine check dist/sdcflows*
414
- - run :
415
- name : Install sdist package into install environment and check version
411
+ name : Install on separate environment and check version [sdist]
416
412
command : |
413
+ python3 -m venv /tmp/install_sdist
417
414
source /tmp/install_sdist/bin/activate
418
- THISVERSION=$( python get_version.py )
415
+ python3 -m pip install "setuptools ~= 42.0" "pip>=10.0.1"
416
+ THISVERSION=$( python3 setup.py --version )
419
417
THISVERSION=${CIRCLE_TAG:-$THISVERSION}
420
- pip install dist/sdcflows*.tar.gz
421
- which sdcflows | grep install_sdist\\/bin
422
- INSTALLED_VERSION=$(sdcflows --version)
423
- INSTALLED_VERSION=${INSTALLED_VERSION%$'\r'}
424
- INSTALLED_VERSION=${INSTALLED_VERSION#*"sdcflows v"}
425
- echo "VERSION: \"$THISVERSION\""
426
- echo "INSTALLED: \"$INSTALLED_VERSION\""
427
- test "$INSTALLED_VERSION" = "v$THISVERSION"
418
+ python3 -m pip install dist/sdcflows*.tar.gz
419
+ INSTALLED_VERSION=$(python3 -c 'import sdcflows as sdc; print(sdc.__version__, end="")')
420
+ echo "VERSION: \"${THISVERSION}\""
421
+ echo "INSTALLED: \"${INSTALLED_VERSION}\""
422
+ test "${INSTALLED_VERSION}" = "${THISVERSION}"
428
423
- run :
429
- name : Install wheel into install environment and check version
424
+ name : Install on separate environment and check version [wheel]
430
425
command : |
426
+ python3 -m venv /tmp/install_wheel
431
427
source /tmp/install_wheel/bin/activate
432
- THISVERSION=$( python get_version.py )
428
+ python3 -m pip install "setuptools ~= 42.0" "pip>=10.0.1"
429
+ THISVERSION=$( python3 setup.py --version )
433
430
THISVERSION=${CIRCLE_TAG:-$THISVERSION}
434
- pip install dist/sdcflows*.whl
435
- which sdcflows | grep install_wheel\\/bin
436
- INSTALLED_VERSION=$(sdcflows --version)
437
- INSTALLED_VERSION=${INSTALLED_VERSION%$'\r'}
438
- INSTALLED_VERSION=${INSTALLED_VERSION#*"sdcflows v"}
439
- echo "VERSION: \"$THISVERSION\""
440
- echo "INSTALLED: \"$INSTALLED_VERSION\""
441
- test "$INSTALLED_VERSION" = "v$THISVERSION"
431
+ python3 -m pip install dist/sdcflows*.whl
432
+ INSTALLED_VERSION=$(python3 -c 'import sdcflows as sdc; print(sdc.__version__, end="")')
433
+ echo "VERSION: \"${THISVERSION}\""
434
+ echo "INSTALLED: \"${INSTALLED_VERSION}\""
435
+ test "${INSTALLED_VERSION}" = "${THISVERSION}"
442
436
443
437
deploy_pypi :
444
438
docker :
445
439
- image : circleci/python:3.7.4
446
440
working_directory : /tmp/src/sdcflows
447
441
steps :
448
- - checkout
449
- - run :
450
- name : Setup Python environment with virtualenvs
451
- command : |
452
- python -m pip install --user --upgrade virtualenv pip
453
- - run :
454
- name : Prepare build environment
455
- command : |
456
- virtualenv --python=python3 /tmp/build
457
- source /tmp/build/bin/activate
458
- python3 -m pip install "setuptools>=30.3.0" "pip>=10.0.1" twine docutils
459
- - run :
460
- name : Prepare install environments
461
- command : |
462
- virtualenv --python=python3 /tmp/install_sdist
463
- source /tmp/install_sdist/bin/activate
464
- python3 -m pip install "setuptools>=30.3.0" "pip>=10.0.1"
465
- - run :
466
- name : Build SDCflows in build environment
467
- command : |
468
- source /tmp/build/bin/activate
469
- python setup.py sdist bdist_wheel
470
- - store_artifacts :
471
- path : /tmp/src/sdcflows/dist
472
- - run :
473
- name : Check sdist and wheel in build environment
474
- command : |
475
- source /tmp/build/bin/activate
476
- twine check dist/sdcflows*
477
- - run :
478
- name : Install sdist package into install environment and check version
479
- command : |
480
- source /tmp/install_sdist/bin/activate
481
- THISVERSION=$( python get_version.py )
482
- THISVERSION=${CIRCLE_TAG:-$THISVERSION}
483
- pip install dist/sdcflows*.tar.gz
484
- which sdcflows | grep install_sdist\\/bin
485
- INSTALLED_VERSION=$(sdcflows --version)
486
- INSTALLED_VERSION=${INSTALLED_VERSION%$'\r'}
487
- INSTALLED_VERSION=${INSTALLED_VERSION#*"sdcflows v"}
488
- echo "VERSION: \"$THISVERSION\""
489
- echo "INSTALLED: \"$INSTALLED_VERSION\""
490
- test "$INSTALLED_VERSION" = "v$THISVERSION"
442
+ - attach_workspace :
443
+ at : /tmp/src/sdcflows
491
444
- run :
492
- name : Upload packages to PyPI
445
+ name : Upload to Pypi
493
446
command : |
494
- source /tmp/build/bin/activate
495
- twine upload dist/sdcflows*
447
+ python3 -m venv /tmp/upload
448
+ source /tmp/upload/bin/activate
449
+ python3 -m pip install twine
450
+ python3 -m twine check dist/*
451
+ python3 -m twine upload dist/* --non-interactive
496
452
497
453
deploy_docs_tag :
498
454
<< : *docs
0 commit comments