From e9c46a4ef55c47a4ce11e8e810256bfa7dde2296 Mon Sep 17 00:00:00 2001 From: David Meunier Date: Wed, 7 Feb 2024 15:16:33 +0100 Subject: [PATCH] Testing ci 2 (#12) * add files for prerelease and test_pypi_nomcr --- .github/workflows/build_on_prerelease.yml | 137 ++++++++++++++++++++++ Dockerfile_testpypi_nomcr | 37 ++++++ setup.py | 5 +- 3 files changed, 177 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build_on_prerelease.yml create mode 100644 Dockerfile_testpypi_nomcr diff --git a/.github/workflows/build_on_prerelease.yml b/.github/workflows/build_on_prerelease.yml new file mode 100644 index 0000000..6c02419 --- /dev/null +++ b/.github/workflows/build_on_prerelease.yml @@ -0,0 +1,137 @@ +name: (Prerelease) Build Pipy, Dockerhub image and test + +on: + release: + types: [prereleased] + +jobs: + + build-n-publish-testpypi: + name: Build and publish Python to Test 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 Test PyPI + uses: pypa/gh-action-pypi-publish@master + with: + password: ${{ secrets.TEST_PYPI_API_TOKEN }} + repository_url: https://test.pypi.org/legacy/ + + docker-build: + name: Build Docker image and Push to Docker Hub + needs: build-n-publish-testpypi + 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_testpypi_nomcr + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + run-pretest-spm-macaque: + name: Running all existing pipelines in skullTo3d_CI.zip (SPM_native macaque) + needs: docker-build + runs-on: ubuntu-latest + timeout-minutes: 1440 + + steps: + - name: Pull latest docker image + run: + docker pull macatools/skullTo3d:latest + + - name: Download dataset + run: | + + wget --no-check-certificate --content-disposition "https://amubox.univ-amu.fr/public.php?service=files&t=KJ2L5j6L6orPXxM&download" -O 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 "" + + ls skullTo3d_CI/cerimed-macaque-ct + + ls skullTo3d_CI/cerimed-macaque-ct/sub-Marvin/sub-01/anat + + echo "" + + ls skullTo3d_CI/cerimed-marmo-petra + + ls skullTo3d_CI/cerimed-marmo-petra/sub-Paolina/sub-01/anat + + echo "" + + - name: Running all test pipelines (ANTS deriv pad) + run: | + python segment_skull.py -data /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra -out /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cenir-macaque-petra/results -soft ANTS_prep_skull -species macaque -sub Magneto -brain_dt T1 T2 -skull_dt T1 petra -deriv -pad + + ls skullTo3d_CI/cenir-macaque-petra/results + + ls skullTo3d_CI/cenir-macaque-petra/results/derivatives + + ls skullTo3d_CI/cenir-macaque-petra/results/derivatives/macapype_crop_aladin_ants_skull_t1_petra_brain_t1_t2/sub-Magneto/anat + + python segment_skull.py -data /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct -out /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-macaque-ct/results -soft ANTS_prep_skull -species macaque -sub Marvin -ses 01 -brain_dt T1 T2 -skull_dt T1 CT -deriv -pad + + ls skullTo3d_CI/cerimed-macaque-ct/results + + ls skullTo3d_CI/cerimed-macaque-ct/results/derivatives + + ls skullTo3d_CI/cerimed-macaque-ct/results/derivatives/macapype_crop_aladin_ants_skull_t1_CT_brain_t1_t2/sub-Marvin/-ses-01/anat + + + python segment_skull.py -data /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra -out /home/runner/work/skullTo3d/skullTo3d/skullTo3d_CI/cerimed-marmo-petra/results -soft ANTS_noseg_skull -species marmo -sub Paolina -ses 01 -brain_dt T1 T2 -skull_dt T1 petra -deriv -pad + + + ls skullTo3d_CI/cerimed-marmo-petra/results + + ls skullTo3d_CI/cerimed-marmo-petra/results/derivatives + + ls skullTo3d_CI/cerimed-marmo-petra/results/derivatives/macapype_crop_aladin_ants_skull_t1_petra_brain_t1_t2/sub-Paolina/-ses-01/anat + + diff --git a/Dockerfile_testpypi_nomcr b/Dockerfile_testpypi_nomcr new file mode 100644 index 0000000..7cb5d46 --- /dev/null +++ b/Dockerfile_testpypi_nomcr @@ -0,0 +1,37 @@ +# Generated by: Neurodocker version 0.7.0+15.ga4940e3.dirty +# Latest release: Neurodocker version 0.7.0 +# +# Thank you for using Neurodocker. If you discover any issues +# or ways to improve this software, please submit an issue or +# pull request on our GitHub repository: +# +# https://github.com/ReproNim/neurodocker +# +# Timestamp: 2020/12/02 18:33:44 UTC + +FROM macatools/macapype:v0.3.5-nomcr + +USER root + +ARG DEBIAN_FRONTEND="noninteractive" + +MAINTAINER David Meunier "david.meunier@univ-amu.fr" + +############################################# install skullTo3d + +RUN echo $(which python) && \ + echo $(which python3) && \ + ln -s /usr/bin/python3 /usr/bin/python && \ + ln -s /usr/bin/pip3 /usr/bin/pip + +RUN pip install --no-deps --index-url https://test.pypi.org/simple/ --pre skullTo3d && python -c "import skullTo3d; print(skullTo3d.__version__)" + +################################################## Finishing +RUN apt-get clean \ + && rm -rf /var/lib/apt/lists/* + +RUN rm -rf \ + /tmp/hsperfdata* \ + /var/*/apt/*/partial \ + /var/log/apt/term* + diff --git a/setup.py b/setup.py index 6e37a4c..35ac3c7 100644 --- a/setup.py +++ b/setup.py @@ -13,7 +13,8 @@ try: verstrline = open('skullTo3d/_version.py', "rt").read() except EnvironmentError: - pass # Okay, there is no version file. + pass # Okay, there is no version file. + else: VSRE = r"^__version__ = ['\"]([^'\"]*)['\"]" mo = re.search(VSRE, verstrline, re.M) @@ -37,7 +38,7 @@ long_description=open('README.md').read(), long_description_content_type='text/markdown', license='BSD 3', - entry_points = { + entry_points={ 'console_scripts': ['segment_skull = segment_skull:main']}, install_requires=required_packages, include_package_data=True)