From 6f20733e02d03205a81279c392ac91e6ea351164 Mon Sep 17 00:00:00 2001 From: Philipp Spilger <philipp.spilger@kip.uni-heidelberg.de> Date: Fri, 10 Sep 2021 14:12:40 +0200 Subject: [PATCH] Make recipe filename configurable and specifiable via env var Change-Id: I43990cebca3c57186462cb0dedc8800c5200d246 --- .ci/Jenkinsfile | 1 + .ci/Jenkinsfile_asic | 1 + .ci/asic_create_recipe.sh | 8 +++----- .ci/build_sandbox.sh | 8 ++++---- .ci/visionary_create_recipe.sh | 6 ++---- 5 files changed, 11 insertions(+), 13 deletions(-) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index be389480..5251eba8 100755 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -36,6 +36,7 @@ pipeline { environment { DOCKER_BASE_IMAGE = "debian:bullseye" DEPENDENCY_PYTHON = "python@3.8.2" + YASHCHIKI_RECIPE_PATH = "${WORKSPACE}/visionary_recipe.def" YASHCHIKI_CACHES_ROOT = "${HOME}" YASHCHIKI_SPACK_PATH = "${env.WORKSPACE}/spack" YASHCHIKI_IMAGE_NAME = "singularity_visionary_temp.img" diff --git a/.ci/Jenkinsfile_asic b/.ci/Jenkinsfile_asic index 8ad25a5c..a97e2005 100755 --- a/.ci/Jenkinsfile_asic +++ b/.ci/Jenkinsfile_asic @@ -38,6 +38,7 @@ pipeline { DOCKER_BASE_IMAGE = "centos:7" // versions from system packages DEPENDENCY_PYTHON = "python@3.8.3" + YASHCHIKI_RECIPE_PATH = "${WORKSPACE}/asic_recipe.def" YASHCHIKI_CACHES_ROOT = "${HOME}" YASHCHIKI_SPACK_PATH = "${env.WORKSPACE}/spack" YASHCHIKI_IMAGE_NAME = "singularity_asic_temp.img" diff --git a/.ci/asic_create_recipe.sh b/.ci/asic_create_recipe.sh index 4b4428b3..67685df7 100755 --- a/.ci/asic_create_recipe.sh +++ b/.ci/asic_create_recipe.sh @@ -3,12 +3,10 @@ SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" source "${SOURCE_DIR}/commons.sh" -RECIPE_FILENAME="${WORKSPACE}/asic_recipe.def" - # create container description file # * based on CentOS 7's docker image # * just manually install everything we need -cat <<EOF >"${RECIPE_FILENAME}" +cat <<EOF >"${YASHCHIKI_RECIPE_PATH}" Bootstrap: docker From: ${DOCKER_BASE_IMAGE} @@ -299,10 +297,10 @@ for view in "${spack_views[@]}"; do ( generate_appenv "${view}" "${view}" [[ "${view}" =~ ^visionary- ]] && generate_appenv "${view#visionary-}" "${view}" - ) >> "${RECIPE_FILENAME}" + ) >> "${YASHCHIKI_RECIPE_PATH}" if [ "${view}" = "visionary-simulation" ];then -cat <<EOF >>"${RECIPE_FILENAME}" +cat <<EOF >>"${YASHCHIKI_RECIPE_PATH}" export NEST_MODULES=visionarymodule EOF fi diff --git a/.ci/build_sandbox.sh b/.ci/build_sandbox.sh index f40fa966..c8d9d2db 100755 --- a/.ci/build_sandbox.sh +++ b/.ci/build_sandbox.sh @@ -14,12 +14,12 @@ unset LC_NUMERIC unset LC_TIME unset LC_MESSAGES -echo "creating ${CONTAINER_STYLE}_recipe.def" >&2 +echo "creating ${YASHCHIKI_RECIPE_PATH}" >&2 SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" "${SOURCE_DIR}/${CONTAINER_STYLE}_create_recipe.sh" -echo "created ${CONTAINER_STYLE}_recipe.def" >&2 -cat "${WORKSPACE}/${CONTAINER_STYLE}_recipe.def" +echo "created ${YASHCHIKI_RECIPE_PATH}" >&2 +cat "${YASHCHIKI_RECIPE_PATH}" # check if host-user-owned temp folder for spack build exists if [ ! -d "${JOB_TMP_SPACK}" ]; then @@ -47,4 +47,4 @@ sudo rm -rf ${YASHCHIKI_SANDBOXES}/ mkdir ${YASHCHIKI_SANDBOXES} # Do not change: special sudo permit for the host user... -sudo -E singularity build --sandbox "${TARGET_FOLDER}" ${CONTAINER_STYLE}_recipe.def | tee out_singularity_build_${CONTAINER_STYLE}_recipe.txt +sudo -E singularity build --sandbox "${TARGET_FOLDER}" "${YASHCHIKI_RECIPE_PATH}" | tee out_singularity_build_${CONTAINER_STYLE}_recipe.txt diff --git a/.ci/visionary_create_recipe.sh b/.ci/visionary_create_recipe.sh index b7e9f6a3..0d73c0b2 100755 --- a/.ci/visionary_create_recipe.sh +++ b/.ci/visionary_create_recipe.sh @@ -3,8 +3,6 @@ SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" source "${SOURCE_DIR}/commons.sh" -RECIPE_FILENAME="${WORKSPACE}/visionary_recipe.def" - # create container description file # * based on Debian buster (minimal) + a few extra packages (e.g. git, python, ...) # * bind mount spack's fetch-cache and ccache into the container -> speed up stuff @@ -13,7 +11,7 @@ RECIPE_FILENAME="${WORKSPACE}/visionary_recipe.def" # * create "spack" user in the container and run spack installation script as spack user # (-> installs to /opt/spack, and creates views) # * provide "apps" which set environment variables to appropriate views -cat <<EOF >"${RECIPE_FILENAME}" +cat <<EOF >"${YASHCHIKI_RECIPE_PATH}" Bootstrap: docker From: ${DOCKER_BASE_IMAGE} @@ -135,5 +133,5 @@ for view in "${spack_views[@]}"; do ( generate_appenv "${view}" "${view}" [[ "${view}" =~ ^visionary- ]] && generate_appenv "${view#visionary-}" "${view}" - ) >> "${RECIPE_FILENAME}" + ) >> "${YASHCHIKI_RECIPE_PATH}" done -- GitLab