Skip to content
name: (Release) Build Pipy, Dockerhub image and test
on:
release:
types: [released]
jobs:
build-n-publish-pypi:
name: Build and publish Python to PyPI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Set up Python 3.10.5
uses: actions/setup-python@v2
with:
python-version: 3.10.5
- name: Install pypa/build
run: >-
python -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: >-
python -m
build
--sdist
--wheel
--outdir dist/
- name: Publish distribution to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.PYPI_API_TOKEN }}
docker-build:
name: Build Docker image and Push to Docker Hub
needs: build-n-publish-pypi
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v2
- name: Log in to Docker Hub
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
with:
images: macatools/skullTo3d
- name: Build and push Docker image
uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
with:
context: .
file: Dockerfile_nomcr
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
run-pretest-ants-macaque-petra:
name: Running all existing pipelines in skullTo3d_CI.zip (ANTS macaque petra)
needs: docker-build
runs-on: ubuntu-latest
steps:
- name: Pull latest docker image
run:
docker pull macatools/skullto3d:latest
- name: Download dataset
run: |
curl https://amubox.univ-amu.fr/public.php/dav/files/swYxNZ3P6LjfqN4 --output skullTo3d_CI.zip
unzip -o skullTo3d_CI.zip -d skullTo3d_CI
pwd
echo ""
ls skullTo3d_CI
echo ""
ls skullTo3d_CI/cenir-macaque-petra
ls skullTo3d_CI/cenir-macaque-petra/sub-Magneto/anat
echo ""
- name: Running all test pipelines (ANTS cenir macaque petra)
run: |
docker run -i -v /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI:/data macatools/skullto3d:latest segment_skull -data /data/cenir-macaque-petra -out /data/cenir-macaque-petra/results -soft ANTS_prep_skull -species macaque -sub Magneto -brain_dt T1 T2 -skull_dt petra -deriv -pad -nprocs 1
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra/results
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra/results/derivatives
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra/results/derivatives/macapype_crop_aladin_ants_skull_petra_segbrain_t1_t2/sub-Magneto/anat
- name: Cleaning dataset
run: |
sudo rm -rf /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra/results/derivatives/macapype_crop_aladin_ants_skull_petra_segbrain_t1_t2
sudo rm -rf /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra/result/macapype_crop_aladin_ants_skull_petra_segbrain_t1_t2
run-pretest-ants-macaque-ct:
name: Running all existing pipelines in skullTo3d_CI.zip (ANTS macaque CT)
needs: docker-build
runs-on: ubuntu-latest
steps:
- name: Pull latest docker image
run:
docker pull macatools/skullto3d:latest
- name: Download dataset
run: |
curl https://amubox.univ-amu.fr/public.php/dav/files/swYxNZ3P6LjfqN4 --output skullTo3d_CI.zip
unzip -o skullTo3d_CI.zip -d skullTo3d_CI
pwd
echo ""
ls skullTo3d_CI
echo ""
ls skullTo3d_CI/cerimed-macaque-ct
ls skullTo3d_CI/cerimed-macaque-ct/sub-Marvin/ses-01/anat
echo ""
- name: Running all test pipelines (ANTS cerimed macaque CT)
run: |
docker run -i -v /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI:/data macatools/skullto3d:latest segment_skull -data /data/cerimed-macaque-ct -out /data/cerimed-macaque-ct/results -soft ANTS_prep_skull -species macaque -sub Marvin -ses 01 -brain_dt T1 T2 -skull_dt CT -deriv -pad -nprocs 1
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct/results
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct/results/derivatives
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct/results/derivatives/macapype_crop_aladin_ants_skull_CT_segbrain_t1_t2/sub-Marvin/ses-01/anat
- name: Cleaning dataset
run: |
sudo rm -rf /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct/results/derivatives/macapype_crop_aladin_ants_skull_CT_segbrain_t1_t2
sudo rm -rf /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct/result/macapype_crop_aladin_ants_skull_CT_segbrain_t1_t2
run-pretest-ants-marmo-petra:
name: Running all existing pipelines in skullTo3d_CI.zip (ANTS marmo petra)
needs: docker-build
runs-on: ubuntu-latest
steps:
- name: Pull latest docker image
run:
docker pull macatools/skullto3d:latest
- name: Download dataset
run: |
curl https://amubox.univ-amu.fr/public.php/dav/files/swYxNZ3P6LjfqN4 --output skullTo3d_CI.zip
unzip -o skullTo3d_CI.zip -d skullTo3d_CI
pwd
echo ""
ls skullTo3d_CI
echo ""
ls skullTo3d_CI/cerimed-marmo-petra
ls skullTo3d_CI/cerimed-marmo-petra/sub-Paolina/ses-01/anat
echo ""
- name: Running all test pipelines (ANTS cerimed marmo petra)
run: |
docker run -i -v /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI:/data macatools/skullto3d:latest segment_skull -data /data/cerimed-marmo-petra -out /data/cerimed-marmo-petra/results -soft ANTS_noseg_skull -species marmo -sub Paolina -ses 01 -brain_dt T1 T2 -skull_dt T1 petra -deriv -pad -nprocs 1
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra/results
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra/results/derivatives
ls /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra/results/derivatives/macapype_crop_aladin_ants_skull_t1_petra_segbrain_t1_t2/sub-Paolina/ses-01/anat
- name: Cleaning dataset
run: |
sudo rm -rf /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra/results/derivatives/macapype_crop_aladin_ants_skull_t1_petra_segbrain_t1_t2
sudo rm -rf /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra/result/macapype_crop_aladin_ants_skull_t1_petra_segbrain_t1_t2