diff --git a/ci/config/configuration.py b/ci/config/configuration.py index c02f2806..1c876854 100644 --- a/ci/config/configuration.py +++ b/ci/config/configuration.py @@ -201,8 +201,11 @@ def job_template(self, env): develop = "" version = self.uenv(env["uenv"]).version(env["version"]) if version.spack_develop: - develop = "--develop" + develop = "-d" + no_bwrap = "" + if cluster["no_bwrap"]: + no_bwrap = "-w" use_f7t = (cluster["runner"] == "f7t") runner = {"f7t": use_f7t} @@ -227,6 +230,7 @@ def job_template(self, env): "uarch": env["uarch"], "recipe_path": env["recipe"], "spack_develop": develop, + "no_bwrap": no_bwrap, "mount": version.mount, "system": env["system"], "partition": target["partition"], diff --git a/ci/config/schema/config.json b/ci/config/schema/config.json index f146a69f..c444d9ab 100644 --- a/ci/config/schema/config.json +++ b/ci/config/schema/config.json @@ -56,7 +56,8 @@ {"enum": ["f7t"]} ], "default": "fjt" - } + }, + "no_bwrap": {"type": "boolean", "default": false} } } } diff --git a/ci/config/templates/pipeline.yml b/ci/config/templates/pipeline.yml index 66170fe0..73ef48e5 100644 --- a/ci/config/templates/pipeline.yml +++ b/ci/config/templates/pipeline.yml @@ -9,7 +9,7 @@ stages: SLURM_TIMELIMIT: 180 script: - echo "==== RECIPE $STACK_RECIPE" - - ./stack-build -n $STACK_NAME -s $STACK_SYSTEM -r $STACK_RECIPE -b /dev/shm/jenkssl $SPACK_DEVELOP -m $STACK_MOUNT -u $STACK_UARCH + - ./stack-build -n $STACK_NAME -s $STACK_SYSTEM -r $STACK_RECIPE -b /dev/shm/jenkssl $SPACK_DEVELOP -m $STACK_MOUNT -u $STACK_UARCH $NO_BWRAP after_script: - rm -Rf /dev/shm/jenkssl @@ -34,6 +34,7 @@ build-{{job.uenv}}/{{job.version}}-{{job.system}}/{{job.uarch}}: variables: STACK_MOUNT: "{{job.mount}}" SPACK_DEVELOP: "{{job.spack_develop}}" + NO_BWRAP: "{{job.no_bwrap}}" STACK_NAME: "{{job.uenv}}/{{job.version}}" STACK_SYSTEM: "{{job.system}}" STACK_RECIPE: "{{job.recipe_path}}" diff --git a/config.yaml b/config.yaml index bd166a90..e80134f4 100644 --- a/config.yaml +++ b/config.yaml @@ -7,6 +7,7 @@ clusters: variables: SLURM_CONSTRAINT: 'mc' runner: f7t + no_bwrap: True clariden: targets: - diff --git a/scripts/setup-stackinator b/scripts/setup-stackinator index a6f3c9fa..2a1010b0 100755 --- a/scripts/setup-stackinator +++ b/scripts/setup-stackinator @@ -5,7 +5,7 @@ tool_base_path="$(pwd)" # builds in the same pipeline do not conflict tool_path=`mktemp -d` tool_repo=https://github.com/eth-cscs/stackinator.git -tool_version=v4.0 +tool_version=master log "installing stackinator from git in '${tool_path}'" diff --git a/stack-build b/stack-build index aad0f7c5..b767d887 100755 --- a/stack-build +++ b/stack-build @@ -32,7 +32,7 @@ get_build_id () { } usage () { - echo "usage: stack-build -n name -r recipe-path -s system -b build-root -u uarch -m mount [-d]" + echo "usage: stack-build -n name -r recipe-path -s system -b build-root -u uarch -m mount [-d] [-w]" echo "" echo "where:" echo " name: the name of the stack" @@ -53,10 +53,11 @@ build_root="-" uarch="-" mount="-" spack_develop="" +no_bwrap="" echo "====== parsing arguments $@" -while getopts n:s:r:b:u:m:d: flag +while getopts n:s:r:b:u:m:dw flag do case "${flag}" in n) name=${OPTARG};; @@ -66,6 +67,7 @@ do u) uarch=${OPTARG};; m) mount=${OPTARG};; d) spack_develop="--develop";; + w) no_bwrap="--no-bwrap";; esac done @@ -91,6 +93,7 @@ log "build-path ${build_path}" log "ci-path ${ci_path}" log "mount ${mount}" [[ ! -z ${spack_develop} ]] && log "develop" +[[ ! -z ${no_bwrap} ]] && log "no bwrap" # Check if the recipe path exists [[ -d "${recipe_path}" ]] || err "recipe path '$recipe_path' does not exist" @@ -140,8 +143,8 @@ source ${ci_path}/scripts/setup-stackinator # call stackinator log "configuring stack" -echo "stack-config -r ${recipe_path} -b ${build_path} -s $cluster_path/${system} -m ${mount} $cache_flags ${spack_develop}" -stack-config -r "${recipe_path}" -b "${build_path}" -s "$cluster_path/${system}" -m "${mount}" $cache_flags ${spack_develop} +echo "stack-config -r ${recipe_path} -b ${build_path} -s $cluster_path/${system} -m ${mount} $cache_flags ${spack_develop} ${no_bwrap}" +stack-config -r "${recipe_path}" -b "${build_path}" -s "$cluster_path/${system}" -m "${mount}" $cache_flags ${spack_develop} ${no_bwrap} if [ ! $? -eq 0 ]; then # delete stackinator tool once it is no longer needed