diff --git a/R-minimal/.dockerignore b/R/.dockerignore similarity index 100% rename from R-minimal/.dockerignore rename to R/.dockerignore diff --git a/R-minimal/.gitignore b/R/.gitignore similarity index 100% rename from R-minimal/.gitignore rename to R/.gitignore diff --git a/R-minimal/.gitlab-ci.yml b/R/.gitlab-ci.yml similarity index 95% rename from R-minimal/.gitlab-ci.yml rename to R/.gitlab-ci.yml index 910df3b..a53654a 100644 --- a/R-minimal/.gitlab-ci.yml +++ b/R/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: GIT_STRATEGY: fetch GIT_SSL_NO_VERIFY: "true" GIT_LFS_SKIP_SMUDGE: 1 + DOCKER_BUILDKIT: 1 stages: - build diff --git a/R-minimal/.renku/renku.ini b/R/.renku/renku.ini similarity index 100% rename from R-minimal/.renku/renku.ini rename to R/.renku/renku.ini diff --git a/R-minimal/.renkulfsignore b/R/.renkulfsignore similarity index 100% rename from R-minimal/.renkulfsignore rename to R/.renkulfsignore diff --git a/R-minimal/Dockerfile b/R/Dockerfile similarity index 77% rename from R-minimal/Dockerfile rename to R/Dockerfile index 20b6c1b..bbc1d71 100644 --- a/R-minimal/Dockerfile +++ b/R/Dockerfile @@ -1,15 +1,16 @@ # For finding latest versions of the base image see # https://github.com/SwissDataScienceCenter/renkulab-docker ARG RENKU_BASE_IMAGE=renku/renkulab-r:4.2.0-0.13.1 -FROM ${RENKU_BASE_IMAGE} ######################################################## # Renku install section - do not edit # +FROM ${RENKU_BASE_IMAGE} as builder + # RENKU_VERSION determines the version of the renku CLI # that will be used in this image. To find the latest version, # visit https://pypi.org/project/renku/#history. -ARG RENKU_VERSION={{ __renku_version__ | default("2.0.0") }} +ARG RENKU_VERSION={{ __renku_version__ | default("1.11.2") }} # Install renku from pypi or from github if a dev version RUN if [ -n "$RENKU_VERSION" ] ; then \ @@ -19,15 +20,17 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ pip uninstall renku -y ; \ gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(rc[[:digit:]]\+\)*\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\4/p") ; \ if [ -n "$gitversion" ] ; then \ - pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ + pip install --no-cache-dir --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ else \ - pip install --force renku==${RENKU_VERSION} ;\ + pip install --no-cache-dir --force renku==${RENKU_VERSION} ;\ fi \ fi \ fi -# End renku install section # +# End Renku install section # ######################################################## +FROM ${RENKU_BASE_IMAGE} + # Uncomment and adapt if code is to be included in the image # COPY src /code/src @@ -48,4 +51,6 @@ RUN R -f /tmp/install.R # install the python dependencies COPY requirements.txt /tmp/ -RUN pip3 install -r /tmp/requirements.txt +RUN pip3 install -r /tmp/requirements.txt --no-cache-dir + +COPY --from=builder ${HOME}/.renku/venv ${HOME}/.renku/venv diff --git a/R-minimal/README.md b/R/README.md similarity index 100% rename from R-minimal/README.md rename to R/README.md diff --git a/R-minimal/data/.gitkeep b/R/data/.gitkeep similarity index 100% rename from R-minimal/data/.gitkeep rename to R/data/.gitkeep diff --git a/R-minimal/environment.yml b/R/environment.yml similarity index 100% rename from R-minimal/environment.yml rename to R/environment.yml diff --git a/R-minimal/install.R b/R/install.R similarity index 100% rename from R-minimal/install.R rename to R/install.R diff --git a/R-minimal/notebooks/.gitkeep b/R/notebooks/.gitkeep similarity index 100% rename from R-minimal/notebooks/.gitkeep rename to R/notebooks/.gitkeep diff --git a/R-minimal/requirements.txt b/R/requirements.txt similarity index 100% rename from R-minimal/requirements.txt rename to R/requirements.txt diff --git a/R-minimal/{{ __sanitized_project_name__ }}.Rproj b/R/{{ __sanitized_project_name__ }}.Rproj similarity index 100% rename from R-minimal/{{ __sanitized_project_name__ }}.Rproj rename to R/{{ __sanitized_project_name__ }}.Rproj diff --git a/bioc-minimal/.dockerignore b/bioc/.dockerignore similarity index 100% rename from bioc-minimal/.dockerignore rename to bioc/.dockerignore diff --git a/bioc-minimal/.gitignore b/bioc/.gitignore similarity index 100% rename from bioc-minimal/.gitignore rename to bioc/.gitignore diff --git a/julia-minimal/.gitlab-ci.yml b/bioc/.gitlab-ci.yml similarity index 95% rename from julia-minimal/.gitlab-ci.yml rename to bioc/.gitlab-ci.yml index 910df3b..a53654a 100644 --- a/julia-minimal/.gitlab-ci.yml +++ b/bioc/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: GIT_STRATEGY: fetch GIT_SSL_NO_VERIFY: "true" GIT_LFS_SKIP_SMUDGE: 1 + DOCKER_BUILDKIT: 1 stages: - build diff --git a/bioc-minimal/.renku/renku.ini b/bioc/.renku/renku.ini similarity index 100% rename from bioc-minimal/.renku/renku.ini rename to bioc/.renku/renku.ini diff --git a/bioc-minimal/.renkulfsignore b/bioc/.renkulfsignore similarity index 100% rename from bioc-minimal/.renkulfsignore rename to bioc/.renkulfsignore diff --git a/bioc-minimal/Dockerfile b/bioc/Dockerfile similarity index 83% rename from bioc-minimal/Dockerfile rename to bioc/Dockerfile index 1dd88ea..0365506 100644 --- a/bioc-minimal/Dockerfile +++ b/bioc/Dockerfile @@ -1,14 +1,16 @@ # see https://github.com/SwissDataScienceCenter/renkulab-docker # to swap this image for the latest version available -FROM renku/renkulab-bioc:RELEASE_3_15-0.13.1 +ARG RENKU_BASE_IMAGE=renku/renkulab-bioc:RELEASE_3_15-0.13.1 ######################################################## # Renku install section - do not edit # +FROM ${RENKU_BASE_IMAGE} as builder + # RENKU_VERSION determines the version of the renku CLI # that will be used in this image. To find the latest version, # visit https://pypi.org/project/renku/#history. -ARG RENKU_VERSION={{ __renku_version__ | default("2.0.0") }} +ARG RENKU_VERSION={{ __renku_version__ | default("1.11.2") }} # Install renku from pypi or from github if a dev version RUN if [ -n "$RENKU_VERSION" ] ; then \ @@ -24,9 +26,10 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ fi \ fi \ fi -# End renku install section # +# End Renku install section # ######################################################## +FROM ${RENKU_BASE_IMAGE} # Uncomment and adapt if code is to be included in the image # COPY src /code/src @@ -48,4 +51,6 @@ RUN R -f /tmp/install.R # install the python dependencies COPY requirements.txt /tmp/ -RUN pip3 install -r /tmp/requirements.txt +RUN pip3 install -r /tmp/requirements.txt --no-cache-dir + +COPY --from=builder ${HOME}/.renku/venv ${HOME}/.renku/venv diff --git a/bioc-minimal/README.md b/bioc/README.md similarity index 100% rename from bioc-minimal/README.md rename to bioc/README.md diff --git a/bioc-minimal/data/.gitkeep b/bioc/data/.gitkeep similarity index 100% rename from bioc-minimal/data/.gitkeep rename to bioc/data/.gitkeep diff --git a/bioc-minimal/environment.yml b/bioc/environment.yml similarity index 100% rename from bioc-minimal/environment.yml rename to bioc/environment.yml diff --git a/bioc-minimal/install.R b/bioc/install.R similarity index 100% rename from bioc-minimal/install.R rename to bioc/install.R diff --git a/bioc-minimal/notebooks/.gitkeep b/bioc/notebooks/.gitkeep similarity index 100% rename from bioc-minimal/notebooks/.gitkeep rename to bioc/notebooks/.gitkeep diff --git a/bioc-minimal/requirements.txt b/bioc/requirements.txt similarity index 100% rename from bioc-minimal/requirements.txt rename to bioc/requirements.txt diff --git a/bioc/{{ __sanitized_project_name__ }}.Rproj b/bioc/{{ __sanitized_project_name__ }}.Rproj new file mode 100644 index 0000000..8e3c2eb --- /dev/null +++ b/bioc/{{ __sanitized_project_name__ }}.Rproj @@ -0,0 +1,13 @@ +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Default +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: Sweave +LaTeX: pdfLaTeX diff --git a/julia-minimal/.dockerignore b/julia/.dockerignore similarity index 100% rename from julia-minimal/.dockerignore rename to julia/.dockerignore diff --git a/julia-minimal/.gitignore b/julia/.gitignore similarity index 100% rename from julia-minimal/.gitignore rename to julia/.gitignore diff --git a/bioc-minimal/.gitlab-ci.yml b/julia/.gitlab-ci.yml similarity index 95% rename from bioc-minimal/.gitlab-ci.yml rename to julia/.gitlab-ci.yml index 910df3b..a53654a 100644 --- a/bioc-minimal/.gitlab-ci.yml +++ b/julia/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: GIT_STRATEGY: fetch GIT_SSL_NO_VERIFY: "true" GIT_LFS_SKIP_SMUDGE: 1 + DOCKER_BUILDKIT: 1 stages: - build diff --git a/julia-minimal/.renku/renku.ini b/julia/.renku/renku.ini similarity index 100% rename from julia-minimal/.renku/renku.ini rename to julia/.renku/renku.ini diff --git a/julia-minimal/.renkulfsignore b/julia/.renkulfsignore similarity index 100% rename from julia-minimal/.renkulfsignore rename to julia/.renkulfsignore diff --git a/julia-minimal/Dockerfile b/julia/Dockerfile similarity index 82% rename from julia-minimal/Dockerfile rename to julia/Dockerfile index 84010c1..b5f2394 100644 --- a/julia-minimal/Dockerfile +++ b/julia/Dockerfile @@ -1,15 +1,16 @@ # For finding latest versions of the base image see # https://github.com/SwissDataScienceCenter/renkulab-docker ARG RENKU_BASE_IMAGE=renku/renkulab-julia:1.7.1-0.13.1 -FROM ${RENKU_BASE_IMAGE} ######################################################## # Renku install section - do not edit # +FROM ${RENKU_BASE_IMAGE} as builder + # RENKU_VERSION determines the version of the renku CLI # that will be used in this image. To find the latest version, # visit https://pypi.org/project/renku/#history. -ARG RENKU_VERSION={{ __renku_version__ | default("2.0.0") }} +ARG RENKU_VERSION={{ __renku_version__ | default("1.11.2") }} # Install renku from pypi or from github if a dev version RUN if [ -n "$RENKU_VERSION" ] ; then \ @@ -19,15 +20,17 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ pip uninstall renku -y ; \ gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(rc[[:digit:]]\+\)*\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\4/p") ; \ if [ -n "$gitversion" ] ; then \ - pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ + pip install --no-cache-dir --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ else \ - pip install --force renku==${RENKU_VERSION} ;\ + pip install --no-cache-dir --force renku==${RENKU_VERSION} ;\ fi \ fi \ fi # End Renku install section # ######################################################## +FROM ${RENKU_BASE_IMAGE} + # Uncomment and adapt if code is to be included in the image # COPY src /code/src @@ -45,7 +48,7 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ # install the python dependencies COPY requirements.txt environment.yml /tmp/ RUN mamba env update -q -f /tmp/environment.yml && \ - /opt/conda/bin/pip install -r /tmp/requirements.txt && \ + /opt/conda/bin/pip install -r /tmp/requirements.txt --no-cache-dir && \ mamba clean -y --all && \ mamba env export -n "root" @@ -54,3 +57,5 @@ COPY Project.toml Manifest.toml /tmp/ RUN mkdir /tmp/julia-pkg && \ cp /tmp/Project.toml /tmp/Manifest.toml /tmp/julia-pkg/ && \ julia -e'using Pkg; Pkg.activate("/tmp/julia-pkg/"); Pkg.instantiate(); Pkg.precompile()' + +COPY --from=builder ${HOME}/.renku/venv ${HOME}/.renku/venv diff --git a/julia-minimal/Manifest.toml b/julia/Manifest.toml similarity index 100% rename from julia-minimal/Manifest.toml rename to julia/Manifest.toml diff --git a/julia-minimal/Project.toml b/julia/Project.toml similarity index 100% rename from julia-minimal/Project.toml rename to julia/Project.toml diff --git a/julia-minimal/README.md b/julia/README.md similarity index 100% rename from julia-minimal/README.md rename to julia/README.md diff --git a/julia-minimal/data/.gitkeep b/julia/data/.gitkeep similarity index 100% rename from julia-minimal/data/.gitkeep rename to julia/data/.gitkeep diff --git a/julia-minimal/environment.yml b/julia/environment.yml similarity index 100% rename from julia-minimal/environment.yml rename to julia/environment.yml diff --git a/julia-minimal/notebooks/.gitkeep b/julia/notebooks/.gitkeep similarity index 100% rename from julia-minimal/notebooks/.gitkeep rename to julia/notebooks/.gitkeep diff --git a/julia-minimal/requirements.txt b/julia/requirements.txt similarity index 100% rename from julia-minimal/requirements.txt rename to julia/requirements.txt diff --git a/manifest.yaml b/manifest.yaml index d413251..d1913d4 100644 --- a/manifest.yaml +++ b/manifest.yaml @@ -1,19 +1,19 @@ -- folder: python-minimal +- folder: python name: Basic Python (3.9) Project description: The simplest Python-3.9-based renku project with a basic directory structure and necessary supporting files. variables: {} icon: python-minimal.png -- folder: R-minimal +- folder: R name: Basic R (4.2.0) Project description: The simplest R-4.2.0-based renku project with a basic directory structure and necessary supporting files. variables: {} icon: R-minimal.png -- folder: bioc-minimal +- folder: bioc name: R-Bioconductor (3.15) Project description: The simplest R bioconductor-3.15-based renku project with a basic directory structure and necessary supporting files. variables: {} icon: bioconductor.png -- folder: julia-minimal +- folder: julia name: Basic Julia (1.7.1) Project description: The simplest Julia 1.7.1-based renku project with a basic directory structure and necessary supporting files. variables: {} diff --git a/minimal/.gitlab-ci.yml b/minimal/.gitlab-ci.yml index 910df3b..a53654a 100644 --- a/minimal/.gitlab-ci.yml +++ b/minimal/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: GIT_STRATEGY: fetch GIT_SSL_NO_VERIFY: "true" GIT_LFS_SKIP_SMUDGE: 1 + DOCKER_BUILDKIT: 1 stages: - build diff --git a/minimal/Dockerfile b/minimal/Dockerfile index 76103e7..cddd470 100644 --- a/minimal/Dockerfile +++ b/minimal/Dockerfile @@ -1,15 +1,16 @@ # For finding latest versions of the base image see # https://github.com/SwissDataScienceCenter/renkulab-docker ARG RENKU_BASE_IMAGE=renku/renkulab-py:3.9-0.13.1 -FROM ${RENKU_BASE_IMAGE} ######################################################## # Renku install section - do not edit # +FROM ${RENKU_BASE_IMAGE} as builder + # RENKU_VERSION determines the version of the renku CLI # that will be used in this image. To find the latest version, # visit https://pypi.org/project/renku/#history. -ARG RENKU_VERSION={{ __renku_version__ | default("2.0.0") }} +ARG RENKU_VERSION={{ __renku_version__ | default("1.11.2") }} # Install renku from pypi or from github if a dev version RUN if [ -n "$RENKU_VERSION" ] ; then \ @@ -19,15 +20,17 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ pip uninstall renku -y ; \ gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(rc[[:digit:]]\+\)*\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\4/p") ; \ if [ -n "$gitversion" ] ; then \ - pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ + pip install --no-cache-dir --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ else \ - pip install --force renku==${RENKU_VERSION} ;\ + pip install --no-cache-dir --force renku==${RENKU_VERSION} ;\ fi \ fi \ fi -# End renku install section # +# End Renku install section # ######################################################## +FROM ${RENKU_BASE_IMAGE} + # Uncomment and adapt if code is to be included in the image # COPY src /code/src @@ -53,3 +56,5 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ # /opt/conda/bin/pip install -r /tmp/requirements.txt && \ # conda clean -y --all && \ # conda env export -n "root" + +COPY --from=builder ${HOME}/.renku/venv ${HOME}/.renku/venv diff --git a/python-minimal/.dockerignore b/python/.dockerignore similarity index 100% rename from python-minimal/.dockerignore rename to python/.dockerignore diff --git a/python-minimal/.gitignore b/python/.gitignore similarity index 100% rename from python-minimal/.gitignore rename to python/.gitignore diff --git a/python-minimal/.gitlab-ci.yml b/python/.gitlab-ci.yml similarity index 95% rename from python-minimal/.gitlab-ci.yml rename to python/.gitlab-ci.yml index 910df3b..a53654a 100644 --- a/python-minimal/.gitlab-ci.yml +++ b/python/.gitlab-ci.yml @@ -2,6 +2,7 @@ variables: GIT_STRATEGY: fetch GIT_SSL_NO_VERIFY: "true" GIT_LFS_SKIP_SMUDGE: 1 + DOCKER_BUILDKIT: 1 stages: - build diff --git a/python-minimal/.renku/renku.ini b/python/.renku/renku.ini similarity index 100% rename from python-minimal/.renku/renku.ini rename to python/.renku/renku.ini diff --git a/python-minimal/.renkulfsignore b/python/.renkulfsignore similarity index 100% rename from python-minimal/.renkulfsignore rename to python/.renkulfsignore diff --git a/python-minimal/Dockerfile b/python/Dockerfile similarity index 77% rename from python-minimal/Dockerfile rename to python/Dockerfile index 6b6df07..2320150 100644 --- a/python-minimal/Dockerfile +++ b/python/Dockerfile @@ -1,16 +1,16 @@ # For finding latest versions of the base image see # https://github.com/SwissDataScienceCenter/renkulab-docker ARG RENKU_BASE_IMAGE=renku/renkulab-py:3.9-0.13.1 -FROM ${RENKU_BASE_IMAGE} - ######################################################## # Renku install section - do not edit # +FROM ${RENKU_BASE_IMAGE} as builder + # RENKU_VERSION determines the version of the renku CLI # that will be used in this image. To find the latest version, # visit https://pypi.org/project/renku/#history. -ARG RENKU_VERSION={{ __renku_version__ | default("2.0.0") }} +ARG RENKU_VERSION={{ __renku_version__ | default("1.11.2") }} # Install renku from pypi or from github if a dev version RUN if [ -n "$RENKU_VERSION" ] ; then \ @@ -20,15 +20,17 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ pip uninstall renku -y ; \ gitversion=$(echo "$RENKU_VERSION" | sed -n "s/^[[:digit:]]\+\.[[:digit:]]\+\.[[:digit:]]\+\(rc[[:digit:]]\+\)*\(\.dev[[:digit:]]\+\)*\(+g\([a-f0-9]\+\)\)*\(+dirty\)*$/\4/p") ; \ if [ -n "$gitversion" ] ; then \ - pip install --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ + pip install --no-cache-dir --force "git+https://github.com/SwissDataScienceCenter/renku-python.git@$gitversion" ;\ else \ - pip install --force renku==${RENKU_VERSION} ;\ + pip install --no-cache-dir --force renku==${RENKU_VERSION} ;\ fi \ fi \ fi -# End renku install section # +# End Renku install section # ######################################################## +FROM ${RENKU_BASE_IMAGE} + # Uncomment and adapt if code is to be included in the image # COPY src /code/src @@ -46,6 +48,8 @@ RUN if [ -n "$RENKU_VERSION" ] ; then \ # install the python dependencies COPY requirements.txt environment.yml /tmp/ RUN mamba env update -q -f /tmp/environment.yml && \ - /opt/conda/bin/pip install -r /tmp/requirements.txt && \ + /opt/conda/bin/pip install -r /tmp/requirements.txt --no-cache-dir && \ mamba clean -y --all && \ mamba env export -n "root" + +COPY --from=builder ${HOME}/.renku/venv ${HOME}/.renku/venv diff --git a/python-minimal/README.md b/python/README.md similarity index 100% rename from python-minimal/README.md rename to python/README.md diff --git a/python-minimal/data/.gitkeep b/python/data/.gitkeep similarity index 100% rename from python-minimal/data/.gitkeep rename to python/data/.gitkeep diff --git a/python-minimal/environment.yml b/python/environment.yml similarity index 100% rename from python-minimal/environment.yml rename to python/environment.yml diff --git a/python-minimal/notebooks/.gitkeep b/python/notebooks/.gitkeep similarity index 100% rename from python-minimal/notebooks/.gitkeep rename to python/notebooks/.gitkeep diff --git a/python-minimal/requirements.txt b/python/requirements.txt similarity index 100% rename from python-minimal/requirements.txt rename to python/requirements.txt