From bc8e3271f8fee1f53ad3f0f7aeb27787a3d3bc06 Mon Sep 17 00:00:00 2001 From: Philipp Spilger <philipp.spilger@kip.uni-heidelberg.de> Date: Mon, 13 Sep 2021 17:23:25 +0200 Subject: [PATCH] Move files to locations as when they are installed * allows easy checking of working relative locations without actual install Change-Id: Ib7d01b7e4be522edaa683eefa854a1bb1ce35560 --- .ci/Jenkinsfile | 46 ++++++++----------- .ci/Jenkinsfile_asic | 31 +++++++------ .../yashchiki_deploy_container.sh | 4 +- .../yashchiki_deploy_utilities.sh | 5 +- .../yashchiki_dump_meta_info.sh | 4 +- .../yashchiki_notify_gerrit.sh | 6 +-- container-build-files | 1 - {.ci => lib/yashchiki}/bootstrap_spack.sh | 0 {.ci => lib/yashchiki}/build_image.sh | 0 {.ci => lib/yashchiki}/build_sandbox.sh | 4 +- {.ci => lib/yashchiki}/commons.sh | 9 +++- ..._install_routine_called_in_post_as_root.sh | 0 ...ate_temporary_build_cache_after_failure.sh | 0 .../deploy_utility_with_preamble.sh | 2 +- {.ci => lib/yashchiki}/dummy_variables.sh | 0 {.ci => lib/yashchiki}/fetch.sh | 0 .../yashchiki}/find_num_lines_shebang.awk | 0 {.ci => lib/yashchiki}/generate_modules.sh | 0 {.ci => lib/yashchiki}/get_host_env.sh | 0 .../yashchiki}/install_gocryptfs_as_root.sh | 0 .../yashchiki}/install_prerequisites.sh | 0 .../yashchiki}/install_singularity_as_root.sh | 0 {.ci => lib/yashchiki}/install_spack.sh | 2 +- .../yashchiki}/install_system_dependencies.sh | 0 ...patching_routine_called_in_post_as_root.sh | 0 .../yashchiki}/prepare_spack_as_root.sh | 0 .../preserve_built_spack_packages.sh | 2 +- .../yashchiki}/restore_spack_user_settings.sh | 0 .../restore_spack_user_settings_as_root.sh | 0 {.ci => lib/yashchiki}/setup_env_spack.sh | 0 {.ci => lib/yashchiki}/update_build_cache.sh | 0 .../update_build_cache_in_container.sh | 0 .../yashchiki}/validate_environment.sh | 0 .../yashchiki/misc-files}/init/spack.sh | 0 .../yashchiki/misc-files}/locale.alias | 0 .../yashchiki/misc-files}/locale.gen | 0 .../yashchiki/misc-files}/parselog.awk | 0 .../yashchiki/misc-files}/setup-spack.sh | 0 .../yashchiki/misc-files}/sudoers | 0 .../patches/gccxml_usr_include.patch | 0 {.ci => share/yashchiki}/pinned/asic.list | 0 {.ci => share/yashchiki}/pinned/dev.list | 0 {.ci => share/yashchiki}/pinned/dls.list | 0 .../yashchiki}/pinned/simulation.list | 0 .../yashchiki}/pinned/spikey_w_dev.list | 0 .../yashchiki}/pinned/spikey_wout_dev.list | 0 .../yashchiki}/pinned/wafer-visu.list | 0 {.ci => share/yashchiki}/pinned/wafer.list | 0 .../yashchiki/styles/asic/create_recipe.sh | 21 +++++---- .../yashchiki/styles/asic/spack_collection.sh | 0 .../styles/asic/spack_custom_view.sh | 0 .../styles/visionary/create_recipe.sh | 21 +++++---- .../styles/visionary/spack_collection.sh | 0 .../styles/visionary/spack_custom_view.sh | 0 {utils => share/yashchiki/utils}/README | 0 {utils => share/yashchiki/utils}/access.sh | 0 .../utils}/check_build_cache_integrity.py | 0 .../utils}/clean_testing_build_remnants.sh | 0 .../yashchiki/utils}/dump_cache.sh | 2 +- .../utils}/extract_current_pinnings.py | 0 .../yashchiki/utils}/extract_dna.sh | 0 {utils => share/yashchiki/utils}/gerrit.sh | 0 {utils => share/yashchiki/utils}/merged.sh | 0 {utils => share/yashchiki/utils}/public.sh | 0 tests/test-gerrit_notify_change.sh | 16 +++---- 65 files changed, 90 insertions(+), 86 deletions(-) rename .ci/deploy_container.sh => bin/yashchiki_deploy_container.sh (95%) rename .ci/deploy_utilities.sh => bin/yashchiki_deploy_utilities.sh (54%) rename .ci/dump_meta_info.sh => bin/yashchiki_dump_meta_info.sh (85%) rename .ci/notify_gerrit.sh => bin/yashchiki_notify_gerrit.sh (93%) delete mode 120000 container-build-files rename {.ci => lib/yashchiki}/bootstrap_spack.sh (100%) rename {.ci => lib/yashchiki}/build_image.sh (100%) rename {.ci => lib/yashchiki}/build_sandbox.sh (89%) rename {.ci => lib/yashchiki}/commons.sh (98%) rename {.ci => lib/yashchiki}/complete_spack_install_routine_called_in_post_as_root.sh (100%) rename {.ci => lib/yashchiki}/create_temporary_build_cache_after_failure.sh (100%) rename {.ci => lib/yashchiki}/deploy_utility_with_preamble.sh (93%) rename {.ci => lib/yashchiki}/dummy_variables.sh (100%) rename {.ci => lib/yashchiki}/fetch.sh (100%) rename {.ci => lib/yashchiki}/find_num_lines_shebang.awk (100%) rename {.ci => lib/yashchiki}/generate_modules.sh (100%) rename {.ci => lib/yashchiki}/get_host_env.sh (100%) rename {.ci => lib/yashchiki}/install_gocryptfs_as_root.sh (100%) rename {.ci => lib/yashchiki}/install_prerequisites.sh (100%) rename {.ci => lib/yashchiki}/install_singularity_as_root.sh (100%) rename {.ci => lib/yashchiki}/install_spack.sh (97%) rename {.ci => lib/yashchiki}/install_system_dependencies.sh (100%) rename {.ci => lib/yashchiki}/manual_system_level_patching_routine_called_in_post_as_root.sh (100%) rename {.ci => lib/yashchiki}/prepare_spack_as_root.sh (100%) rename {.ci => lib/yashchiki}/preserve_built_spack_packages.sh (96%) rename {.ci => lib/yashchiki}/restore_spack_user_settings.sh (100%) rename {.ci => lib/yashchiki}/restore_spack_user_settings_as_root.sh (100%) rename {.ci => lib/yashchiki}/setup_env_spack.sh (100%) rename {.ci => lib/yashchiki}/update_build_cache.sh (100%) rename {.ci => lib/yashchiki}/update_build_cache_in_container.sh (100%) rename {.ci => lib/yashchiki}/validate_environment.sh (100%) rename {misc-files => share/yashchiki/misc-files}/init/spack.sh (100%) rename {misc-files => share/yashchiki/misc-files}/locale.alias (100%) rename {misc-files => share/yashchiki/misc-files}/locale.gen (100%) rename {misc-files => share/yashchiki/misc-files}/parselog.awk (100%) rename {misc-files => share/yashchiki/misc-files}/setup-spack.sh (100%) rename {misc-files => share/yashchiki/misc-files}/sudoers (100%) rename {.ci => share/yashchiki}/patches/gccxml_usr_include.patch (100%) rename {.ci => share/yashchiki}/pinned/asic.list (100%) rename {.ci => share/yashchiki}/pinned/dev.list (100%) rename {.ci => share/yashchiki}/pinned/dls.list (100%) rename {.ci => share/yashchiki}/pinned/simulation.list (100%) rename {.ci => share/yashchiki}/pinned/spikey_w_dev.list (100%) rename {.ci => share/yashchiki}/pinned/spikey_wout_dev.list (100%) rename {.ci => share/yashchiki}/pinned/wafer-visu.list (100%) rename {.ci => share/yashchiki}/pinned/wafer.list (100%) rename .ci/asic_create_recipe.sh => share/yashchiki/styles/asic/create_recipe.sh (91%) rename .ci/asic_spack_collection.sh => share/yashchiki/styles/asic/spack_collection.sh (100%) rename .ci/asic_spack_custom_view.sh => share/yashchiki/styles/asic/spack_custom_view.sh (100%) rename .ci/visionary_create_recipe.sh => share/yashchiki/styles/visionary/create_recipe.sh (86%) rename .ci/visionary_spack_collection.sh => share/yashchiki/styles/visionary/spack_collection.sh (100%) rename .ci/visionary_spack_custom_view.sh => share/yashchiki/styles/visionary/spack_custom_view.sh (100%) rename {utils => share/yashchiki/utils}/README (100%) rename {utils => share/yashchiki/utils}/access.sh (100%) rename {utils => share/yashchiki/utils}/check_build_cache_integrity.py (100%) rename {utils => share/yashchiki/utils}/clean_testing_build_remnants.sh (100%) rename {utils => share/yashchiki/utils}/dump_cache.sh (97%) rename {utils => share/yashchiki/utils}/extract_current_pinnings.py (100%) rename {utils => share/yashchiki/utils}/extract_dna.sh (100%) rename {utils => share/yashchiki/utils}/gerrit.sh (100%) rename {utils => share/yashchiki/utils}/merged.sh (100%) rename {utils => share/yashchiki/utils}/public.sh (100%) diff --git a/.ci/Jenkinsfile b/.ci/Jenkinsfile index 4fa1b5fe..016a8aed 100755 --- a/.ci/Jenkinsfile +++ b/.ci/Jenkinsfile @@ -78,67 +78,67 @@ pipeline { } stage('Validate environment') { steps { - sh "yashchiki/.ci/validate_environment.sh" + sh "yashchiki/lib/yashchiki/validate_environment.sh" } } stage('Dump Meta Info') { steps { - sh "yashchiki/.ci/dump_meta_info.sh" - sh "yashchiki/.ci/notify_gerrit.sh -m 'Build containing this change started..'" + sh "yashchiki/bin/yashchiki_dump_meta_info.sh" + sh "yashchiki/bin/yashchiki_notify_gerrit.sh -m 'Build containing this change started..'" } } stage('Spack Fetch') { steps { script { try { - sh "yashchiki/.ci/fetch.sh" + sh "yashchiki/lib/yashchiki/fetch.sh" } catch (Throwable t) { archiveArtifacts "errors_concretization.log" throw t } - spec_folder_in_container = sh(script: "yashchiki/.ci/get_host_env.sh SPEC_FOLDER_IN_CONTAINER", returnStdout: true).trim() + spec_folder_in_container = sh(script: "yashchiki/lib/yashchiki/get_host_env.sh SPEC_FOLDER_IN_CONTAINER", returnStdout: true).trim() archiveArtifacts(artifacts: "sandboxes/*/$spec_folder_in_container/*.yaml", allowEmptyArchive: true) } } } stage('Deploy utilities') { steps { - sh "yashchiki/.ci/deploy_utilities.sh" + sh "yashchiki/bin/yashchiki_deploy_utilities.sh" } } stage('Create visionary recipe') { steps { - sh "yashchiki/.ci/visionary_create_recipe.sh" + sh "yashchiki/share/yashchiki/styles/visionary/create_recipe.sh" } } stage('Build sandbox') { steps { - sh "yashchiki/.ci/build_sandbox.sh" + sh "yashchiki/lib/yashchiki/build_sandbox.sh" } } stage('Build container image') { steps { - sh "yashchiki/.ci/build_image.sh" + sh "yashchiki/lib/yashchiki/build_image.sh" } } stage('Update build cache and export container') { steps { script { // we only want the container name, tail everything else - CONTAINER_IMAGE = sh(script: "yashchiki/.ci/deploy_container.sh | tail -n 1", returnStdout: true).trim() + CONTAINER_IMAGE = sh(script: "yashchiki/bin/yashchiki_deploy_container.sh | tail -n 1", returnStdout: true).trim() } - sh "yashchiki/.ci/update_build_cache.sh -c \"$CONTAINER_IMAGE\"" - sh "yashchiki/.ci/notify_gerrit.sh -t Build -c \"$CONTAINER_IMAGE\"" + sh "yashchiki/lib/yashchiki/update_build_cache.sh -c \"$CONTAINER_IMAGE\"" + sh "yashchiki/bin/yashchiki_notify_gerrit.sh -t Build -c \"$CONTAINER_IMAGE\"" } } } post { failure { script { - cache_failed = sh(script: "yashchiki/.ci/create_temporary_build_cache_after_failure.sh", returnStdout: true).trim() + cache_failed = sh(script: "yashchiki/lib/yashchiki/create_temporary_build_cache_after_failure.sh", returnStdout: true).trim() } - sh "yashchiki/.ci/notify_gerrit.sh -v -1 -t Build -m \"Successfully built packages stored in cache. Resume by issuing:\nWITH_CACHE_NAME=${cache_failed}\n\nIn your next gerrit comment, NOT commit message!\"" + sh "yashchiki/bin/yashchiki_notify_gerrit.sh -v -1 -t Build -m \"Successfully built packages stored in cache. Resume by issuing:\nWITH_CACHE_NAME=${cache_failed}\n\nIn your next gerrit comment, NOT commit message!\"" } cleanup { archiveArtifacts "host.env" @@ -206,24 +206,18 @@ pipeline { } } } + environment { + YASHCHIKI_HOST_ENV_PATH = "${WORKSPACE}/host.env" + } post { success { - // singularityArgs needed because conviz is still running singularity 2.6 due to faster image build times - inSingularity(image: CONTAINER_IMAGE, singularityArgs: "-B /etc/passwd") { - jesh "/opt/spack_install_scripts/notify_gerrit.sh -v 1 -t Tests -c '${CONTAINER_IMAGE}'" - } + jesh "yashchiki/bin/yashchiki_notify_gerrit.sh -v 1 -t Tests -c '${CONTAINER_IMAGE}'" } unstable { - // singularityArgs needed because conviz is still running singularity 2.6 due to faster image build times - inSingularity(image: CONTAINER_IMAGE, singularityArgs: "-B /etc/passwd") { - jesh "/opt/spack_install_scripts/notify_gerrit.sh -v 0 -t Tests -c '${CONTAINER_IMAGE}'" - } + jesh "yashchiki/bin/yashchiki_notify_gerrit.sh -v 0 -t Tests -c '${CONTAINER_IMAGE}'" } failure { - // singularityArgs needed because conviz is still running singularity 2.6 due to faster image build times - inSingularity(image: CONTAINER_IMAGE, singularityArgs: "-B /etc/passwd") { - jesh "/opt/spack_install_scripts/notify_gerrit.sh -v -1 -t Tests -c '${CONTAINER_IMAGE}'" - } + jesh "yashchiki/bin/yashchiki_notify_gerrit.sh -v -1 -t Tests -c '${CONTAINER_IMAGE}'" } } } diff --git a/.ci/Jenkinsfile_asic b/.ci/Jenkinsfile_asic index 2380a0b5..e5e06dfd 100755 --- a/.ci/Jenkinsfile_asic +++ b/.ci/Jenkinsfile_asic @@ -80,67 +80,70 @@ pipeline { } stage('Validate environment') { steps { - sh "yashchiki/.ci/validate_environment.sh" + sh "yashchiki/lib/yashchiki/validate_environment.sh" } } stage('Dump Meta Info') { steps { - sh "yashchiki/.ci/dump_meta_info.sh" - sh "yashchiki/.ci/notify_gerrit.sh -m 'Build containing this change started..'" + sh "yashchiki/bin/yashchiki_dump_meta_info.sh" + sh "yashchiki/bin/yashchiki_notify_gerrit.sh -m 'Build containing this change started..'" } } stage('Spack Fetch') { steps { script { try { - sh "yashchiki/.ci/fetch.sh" + sh "yashchiki/lib/yashchiki/fetch.sh" } catch (Throwable t) { archiveArtifacts "errors_concretization.log" throw t } - spec_folder_in_container = sh(script: "yashchiki/.ci/get_host_env.sh SPEC_FOLDER_IN_CONTAINER", returnStdout: true).trim() + spec_folder_in_container = sh(script: "yashchiki/lib/yashchiki/get_host_env.sh SPEC_FOLDER_IN_CONTAINER", returnStdout: true).trim() archiveArtifacts(artifacts: "sandboxes/*/$spec_folder_in_container/*.yaml", allowEmptyArchive: true) } } } stage('Deploy utilities') { steps { - sh "yashchiki/.ci/deploy_utilities.sh" + sh "yashchiki/bin/yashchiki_deploy_utilities.sh" } } stage('Create asic recipe') { steps { - sh "yashchiki/.ci/asic_create_recipe.sh" + sh "yashchiki/share/yashchiki/styles/asic/create_recipe.sh" } } stage('Build sandbox') { steps { - sh "yashchiki/.ci/build_sandbox.sh" + sh "yashchiki/lib/yashchiki/build_sandbox.sh" } } stage('Build container image') { steps { - sh "yashchiki/.ci/build_image.sh" + sh "yashchiki/lib/yashchiki/build_image.sh" } } stage('Update build cache and export container') { steps { script { // we only want the container name, tail everything else - CONTAINER_IMAGE = sh(script: "yashchiki/.ci/deploy_container.sh | tail -n 1", returnStdout: true).trim() + CONTAINER_IMAGE = sh(script: "yashchiki/bin/yashchiki_deploy_container.sh | tail -n 1", returnStdout: true).trim() } - sh "yashchiki/.ci/update_build_cache.sh -c \"$CONTAINER_IMAGE\"" - sh "yashchiki/.ci/notify_gerrit.sh -t Build -c \"$CONTAINER_IMAGE\"" + sh "yashchiki/lib/yashchiki/update_build_cache.sh -c \"$CONTAINER_IMAGE\"" + sh "yashchiki/bin/yashchiki_notify_gerrit.sh -t Build -c \"$CONTAINER_IMAGE\"" } } } + environment { + YASHCHIKI_HOST_ENV_PATH = "${WORKSPACE}/host.env" + } post { failure { script { - cache_failed = sh(script: "yashchiki/.ci/create_temporary_build_cache_after_failure.sh", returnStdout: true).trim() + cache_failed = sh(script: "yashchiki/lib/yashchiki/create_temporary_build_cache_after_failure.sh", returnStdout: true).trim() } - sh "yashchiki/.ci/notify_gerrit.sh -v -1 -t Build -m \"Successfully built packages stored in cache. Resume by issuing:\nWITH_CACHE_NAME=${cache_failed}\n\nIn your next gerrit comment, NOT commit message!\"" + sh "yashchiki/bin/yashchiki_notify_gerrit.sh -v -1 -t Build -m \"Successfully built packages stored in cache. Resume by issuing:\nWITH_CACHE_NAME=${cache_failed}\n\nIn your next gerrit comment, NOT commit message!\"" } cleanup { archiveArtifacts "host.env" diff --git a/.ci/deploy_container.sh b/bin/yashchiki_deploy_container.sh similarity index 95% rename from .ci/deploy_container.sh rename to bin/yashchiki_deploy_container.sh index 51b1dbb5..51de53f2 100755 --- a/.ci/deploy_container.sh +++ b/bin/yashchiki_deploy_container.sh @@ -6,8 +6,8 @@ shopt -s inherit_errexit # NOTE: stdout of this script is parsed within the Jenkinsfile. # Think twice before adding any output! -SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" -source "${SOURCE_DIR}/commons.sh" +ROOT_DIR="$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")" +source "${ROOT_DIR}/lib/yashchiki/commons.sh" INSTALL_DIR="/containers/${CONTAINER_BUILD_TYPE}" FALLBACK_DIR="${HOME}/container_mount_full" diff --git a/.ci/deploy_utilities.sh b/bin/yashchiki_deploy_utilities.sh similarity index 54% rename from .ci/deploy_utilities.sh rename to bin/yashchiki_deploy_utilities.sh index ef05f0d2..5439a154 100755 --- a/.ci/deploy_utilities.sh +++ b/bin/yashchiki_deploy_utilities.sh @@ -1,6 +1,7 @@ #!/bin/bash -SOURCE_FOLDER="yashchiki/utils" +ROOT_DIR="$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")" +SOURCE_FOLDER="${ROOT_DIR}/share/yashchiki/utils" TARGET_FOLDER="/containers/utils" NAME_FILTER=( "(" -name "*.py" -or -name "*.sh" ")" ) @@ -8,5 +9,5 @@ NAME_FILTER=( "(" -name "*.py" -or -name "*.sh" ")" ) if [ "${CONTAINER_BUILD_TYPE}" = "stable" ]; then find "${TARGET_FOLDER}" "${NAME_FILTER[@]}" -delete find "${SOURCE_FOLDER}" "${NAME_FILTER[@]}" -print0 \ - | xargs -n 1 -0 "${PWD}/yashchiki/.ci/deploy_utility_with_preamble.sh" "${TARGET_FOLDER}" + | xargs -n 1 -0 "${sourcedir}/../lib/yashchiki/deploy_utility_with_preamble.sh" "${TARGET_FOLDER}" fi diff --git a/.ci/dump_meta_info.sh b/bin/yashchiki_dump_meta_info.sh similarity index 85% rename from .ci/dump_meta_info.sh rename to bin/yashchiki_dump_meta_info.sh index 460de3df..1eb17e90 100755 --- a/.ci/dump_meta_info.sh +++ b/bin/yashchiki_dump_meta_info.sh @@ -6,8 +6,8 @@ set -Eeuo pipefail shopt -s inherit_errexit -SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" -source "${SOURCE_DIR}/commons.sh" +ROOT_DIR="$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")" +source "${ROOT_DIR}/lib/yashchiki/commons.sh" mkdir -p "${META_DIR_OUTSIDE}" diff --git a/.ci/notify_gerrit.sh b/bin/yashchiki_notify_gerrit.sh similarity index 93% rename from .ci/notify_gerrit.sh rename to bin/yashchiki_notify_gerrit.sh index af56b5cb..8cbe5582 100755 --- a/.ci/notify_gerrit.sh +++ b/bin/yashchiki_notify_gerrit.sh @@ -15,9 +15,9 @@ if ! [ "${CONTAINER_BUILD_TYPE:-}" = "testing" ]; then exit 0 fi -SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" -source "${SOURCE_DIR}/dummy_variables.sh" -source "${SOURCE_DIR}/commons.sh" +ROOT_DIR="$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")" +source "${ROOT_DIR}/lib/yashchiki/dummy_variables.sh" +source "${ROOT_DIR}/lib/yashchiki/commons.sh" container_name="" result_type="" diff --git a/container-build-files b/container-build-files deleted file mode 120000 index ecb1fd33..00000000 --- a/container-build-files +++ /dev/null @@ -1 +0,0 @@ -.ci \ No newline at end of file diff --git a/.ci/bootstrap_spack.sh b/lib/yashchiki/bootstrap_spack.sh similarity index 100% rename from .ci/bootstrap_spack.sh rename to lib/yashchiki/bootstrap_spack.sh diff --git a/.ci/build_image.sh b/lib/yashchiki/build_image.sh similarity index 100% rename from .ci/build_image.sh rename to lib/yashchiki/build_image.sh diff --git a/.ci/build_sandbox.sh b/lib/yashchiki/build_sandbox.sh similarity index 89% rename from .ci/build_sandbox.sh rename to lib/yashchiki/build_sandbox.sh index c8d9d2db..98f103d4 100755 --- a/.ci/build_sandbox.sh +++ b/lib/yashchiki/build_sandbox.sh @@ -15,8 +15,8 @@ unset LC_TIME unset LC_MESSAGES echo "creating ${YASHCHIKI_RECIPE_PATH}" >&2 -SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" -"${SOURCE_DIR}/${CONTAINER_STYLE}_create_recipe.sh" +ROOT_DIR="$(dirname "$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")")" +bash "${ROOT_DIR}/share/yashchiki/styles/${CONTAINER_STYLE}/create_recipe.sh" echo "created ${YASHCHIKI_RECIPE_PATH}" >&2 cat "${YASHCHIKI_RECIPE_PATH}" diff --git a/.ci/commons.sh b/lib/yashchiki/commons.sh similarity index 98% rename from .ci/commons.sh rename to lib/yashchiki/commons.sh index 24ed0dc4..d6144c04 100755 --- a/.ci/commons.sh +++ b/lib/yashchiki/commons.sh @@ -3,6 +3,7 @@ set -euo pipefail shopt -s inherit_errexit 2>/dev/null || true +ROOT_DIR="$(dirname "$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")")" SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" HOST_ENV_FILE_INSIDE="/tmp/spack/host.env" @@ -179,7 +180,13 @@ declare -A spack_add_to_view # "no" otherwise declare -A spack_add_to_view_with_dependencies -source "${SOURCE_DIR}/${CONTAINER_STYLE}_spack_collection.sh" +if test -f "${ROOT_DIR}/share/yashchiki/styles/${CONTAINER_STYLE}/spack_collection.sh"; then + # outside of container + source "${ROOT_DIR}/share/yashchiki/styles/${CONTAINER_STYLE}/spack_collection.sh" +else + # inside of container + source "${SOURCE_DIR}/spack_collection.sh" +fi # Control verbosity etc of commands SPACK_ARGS_INSTALL=() diff --git a/.ci/complete_spack_install_routine_called_in_post_as_root.sh b/lib/yashchiki/complete_spack_install_routine_called_in_post_as_root.sh similarity index 100% rename from .ci/complete_spack_install_routine_called_in_post_as_root.sh rename to lib/yashchiki/complete_spack_install_routine_called_in_post_as_root.sh diff --git a/.ci/create_temporary_build_cache_after_failure.sh b/lib/yashchiki/create_temporary_build_cache_after_failure.sh similarity index 100% rename from .ci/create_temporary_build_cache_after_failure.sh rename to lib/yashchiki/create_temporary_build_cache_after_failure.sh diff --git a/.ci/deploy_utility_with_preamble.sh b/lib/yashchiki/deploy_utility_with_preamble.sh similarity index 93% rename from .ci/deploy_utility_with_preamble.sh rename to lib/yashchiki/deploy_utility_with_preamble.sh index 502bb2c9..5f0d65c4 100755 --- a/.ci/deploy_utility_with_preamble.sh +++ b/lib/yashchiki/deploy_utility_with_preamble.sh @@ -25,7 +25,7 @@ echo "" } # source and destination are reversed for xargs! -len_preamble=$(awk -f "$(cd yashchiki && git rev-parse --show-toplevel)/.ci/find_num_lines_shebang.awk" "${src}") +len_preamble=$(awk -f "$(cd yashchiki && git rev-parse --show-toplevel)/lib/yashchiki/find_num_lines_shebang.awk" "${src}") head -n "${len_preamble}" "${src}" > "${dst}" make_preamble >> "${dst}" tail -n +$(( len_preamble + 1 )) "${src}" >> "${dst}" diff --git a/.ci/dummy_variables.sh b/lib/yashchiki/dummy_variables.sh similarity index 100% rename from .ci/dummy_variables.sh rename to lib/yashchiki/dummy_variables.sh diff --git a/.ci/fetch.sh b/lib/yashchiki/fetch.sh similarity index 100% rename from .ci/fetch.sh rename to lib/yashchiki/fetch.sh diff --git a/.ci/find_num_lines_shebang.awk b/lib/yashchiki/find_num_lines_shebang.awk similarity index 100% rename from .ci/find_num_lines_shebang.awk rename to lib/yashchiki/find_num_lines_shebang.awk diff --git a/.ci/generate_modules.sh b/lib/yashchiki/generate_modules.sh similarity index 100% rename from .ci/generate_modules.sh rename to lib/yashchiki/generate_modules.sh diff --git a/.ci/get_host_env.sh b/lib/yashchiki/get_host_env.sh similarity index 100% rename from .ci/get_host_env.sh rename to lib/yashchiki/get_host_env.sh diff --git a/.ci/install_gocryptfs_as_root.sh b/lib/yashchiki/install_gocryptfs_as_root.sh similarity index 100% rename from .ci/install_gocryptfs_as_root.sh rename to lib/yashchiki/install_gocryptfs_as_root.sh diff --git a/.ci/install_prerequisites.sh b/lib/yashchiki/install_prerequisites.sh similarity index 100% rename from .ci/install_prerequisites.sh rename to lib/yashchiki/install_prerequisites.sh diff --git a/.ci/install_singularity_as_root.sh b/lib/yashchiki/install_singularity_as_root.sh similarity index 100% rename from .ci/install_singularity_as_root.sh rename to lib/yashchiki/install_singularity_as_root.sh diff --git a/.ci/install_spack.sh b/lib/yashchiki/install_spack.sh similarity index 97% rename from .ci/install_spack.sh rename to lib/yashchiki/install_spack.sh index 974943f5..a693509e 100755 --- a/.ci/install_spack.sh +++ b/lib/yashchiki/install_spack.sh @@ -56,7 +56,7 @@ umask 000 # several spack packages get linked into the same view and the random order of # execution in a parallel context, builds might become unstable otherwise. { -source ${SPACK_INSTALL_SCRIPTS}/${CONTAINER_STYLE}_spack_custom_view.sh +source ${SPACK_INSTALL_SCRIPTS}/spack_custom_view.sh } | parallel_cmds # Perform the remaining additions to the views defined in commons. diff --git a/.ci/install_system_dependencies.sh b/lib/yashchiki/install_system_dependencies.sh similarity index 100% rename from .ci/install_system_dependencies.sh rename to lib/yashchiki/install_system_dependencies.sh diff --git a/.ci/manual_system_level_patching_routine_called_in_post_as_root.sh b/lib/yashchiki/manual_system_level_patching_routine_called_in_post_as_root.sh similarity index 100% rename from .ci/manual_system_level_patching_routine_called_in_post_as_root.sh rename to lib/yashchiki/manual_system_level_patching_routine_called_in_post_as_root.sh diff --git a/.ci/prepare_spack_as_root.sh b/lib/yashchiki/prepare_spack_as_root.sh similarity index 100% rename from .ci/prepare_spack_as_root.sh rename to lib/yashchiki/prepare_spack_as_root.sh diff --git a/.ci/preserve_built_spack_packages.sh b/lib/yashchiki/preserve_built_spack_packages.sh similarity index 96% rename from .ci/preserve_built_spack_packages.sh rename to lib/yashchiki/preserve_built_spack_packages.sh index 20ef4359..dba27fb3 100755 --- a/.ci/preserve_built_spack_packages.sh +++ b/lib/yashchiki/preserve_built_spack_packages.sh @@ -14,7 +14,7 @@ # Additionally, a temporary build cache is created under # failed/c<num>p<num>_<num> that contains a union of the current build cache # and all successfully built packages via symlinks (see -# .ci/create_temporary_build_cache_after_failure.sh). +# lib/yashchiki/create_temporary_build_cache_after_failure.sh). set -euo pipefail shopt -s inherit_errexit 2>/dev/null || true diff --git a/.ci/restore_spack_user_settings.sh b/lib/yashchiki/restore_spack_user_settings.sh similarity index 100% rename from .ci/restore_spack_user_settings.sh rename to lib/yashchiki/restore_spack_user_settings.sh diff --git a/.ci/restore_spack_user_settings_as_root.sh b/lib/yashchiki/restore_spack_user_settings_as_root.sh similarity index 100% rename from .ci/restore_spack_user_settings_as_root.sh rename to lib/yashchiki/restore_spack_user_settings_as_root.sh diff --git a/.ci/setup_env_spack.sh b/lib/yashchiki/setup_env_spack.sh similarity index 100% rename from .ci/setup_env_spack.sh rename to lib/yashchiki/setup_env_spack.sh diff --git a/.ci/update_build_cache.sh b/lib/yashchiki/update_build_cache.sh similarity index 100% rename from .ci/update_build_cache.sh rename to lib/yashchiki/update_build_cache.sh diff --git a/.ci/update_build_cache_in_container.sh b/lib/yashchiki/update_build_cache_in_container.sh similarity index 100% rename from .ci/update_build_cache_in_container.sh rename to lib/yashchiki/update_build_cache_in_container.sh diff --git a/.ci/validate_environment.sh b/lib/yashchiki/validate_environment.sh similarity index 100% rename from .ci/validate_environment.sh rename to lib/yashchiki/validate_environment.sh diff --git a/misc-files/init/spack.sh b/share/yashchiki/misc-files/init/spack.sh similarity index 100% rename from misc-files/init/spack.sh rename to share/yashchiki/misc-files/init/spack.sh diff --git a/misc-files/locale.alias b/share/yashchiki/misc-files/locale.alias similarity index 100% rename from misc-files/locale.alias rename to share/yashchiki/misc-files/locale.alias diff --git a/misc-files/locale.gen b/share/yashchiki/misc-files/locale.gen similarity index 100% rename from misc-files/locale.gen rename to share/yashchiki/misc-files/locale.gen diff --git a/misc-files/parselog.awk b/share/yashchiki/misc-files/parselog.awk similarity index 100% rename from misc-files/parselog.awk rename to share/yashchiki/misc-files/parselog.awk diff --git a/misc-files/setup-spack.sh b/share/yashchiki/misc-files/setup-spack.sh similarity index 100% rename from misc-files/setup-spack.sh rename to share/yashchiki/misc-files/setup-spack.sh diff --git a/misc-files/sudoers b/share/yashchiki/misc-files/sudoers similarity index 100% rename from misc-files/sudoers rename to share/yashchiki/misc-files/sudoers diff --git a/.ci/patches/gccxml_usr_include.patch b/share/yashchiki/patches/gccxml_usr_include.patch similarity index 100% rename from .ci/patches/gccxml_usr_include.patch rename to share/yashchiki/patches/gccxml_usr_include.patch diff --git a/.ci/pinned/asic.list b/share/yashchiki/pinned/asic.list similarity index 100% rename from .ci/pinned/asic.list rename to share/yashchiki/pinned/asic.list diff --git a/.ci/pinned/dev.list b/share/yashchiki/pinned/dev.list similarity index 100% rename from .ci/pinned/dev.list rename to share/yashchiki/pinned/dev.list diff --git a/.ci/pinned/dls.list b/share/yashchiki/pinned/dls.list similarity index 100% rename from .ci/pinned/dls.list rename to share/yashchiki/pinned/dls.list diff --git a/.ci/pinned/simulation.list b/share/yashchiki/pinned/simulation.list similarity index 100% rename from .ci/pinned/simulation.list rename to share/yashchiki/pinned/simulation.list diff --git a/.ci/pinned/spikey_w_dev.list b/share/yashchiki/pinned/spikey_w_dev.list similarity index 100% rename from .ci/pinned/spikey_w_dev.list rename to share/yashchiki/pinned/spikey_w_dev.list diff --git a/.ci/pinned/spikey_wout_dev.list b/share/yashchiki/pinned/spikey_wout_dev.list similarity index 100% rename from .ci/pinned/spikey_wout_dev.list rename to share/yashchiki/pinned/spikey_wout_dev.list diff --git a/.ci/pinned/wafer-visu.list b/share/yashchiki/pinned/wafer-visu.list similarity index 100% rename from .ci/pinned/wafer-visu.list rename to share/yashchiki/pinned/wafer-visu.list diff --git a/.ci/pinned/wafer.list b/share/yashchiki/pinned/wafer.list similarity index 100% rename from .ci/pinned/wafer.list rename to share/yashchiki/pinned/wafer.list diff --git a/.ci/asic_create_recipe.sh b/share/yashchiki/styles/asic/create_recipe.sh similarity index 91% rename from .ci/asic_create_recipe.sh rename to share/yashchiki/styles/asic/create_recipe.sh index cdb7b992..70e4140a 100755 --- a/.ci/asic_create_recipe.sh +++ b/share/yashchiki/styles/asic/create_recipe.sh @@ -1,7 +1,7 @@ #!/bin/bash -SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" -source "${SOURCE_DIR}/commons.sh" +ROOT_DIR="$(dirname "$(dirname "$(dirname "$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")")")")" +source "${ROOT_DIR}/lib/yashchiki/commons.sh" # create container description file # * based on CentOS 7's docker image @@ -31,14 +31,15 @@ From: ${DOCKER_BASE_IMAGE} mount --no-mtab --bind "${JOB_TMP_SPACK}" "\${SINGULARITY_ROOTFS}/tmp/spack" # copy install scripts mkdir "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/*.awk "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/patches "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/share/yashchiki/styles/asic/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/lib/yashchiki/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/lib/yashchiki/*.awk "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/share/yashchiki/patches "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" mkdir -p "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" rsync -av "${META_DIR_OUTSIDE}"/* "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" # init scripts for user convenience mkdir -p "\${SINGULARITY_ROOTFS}/opt/init" - rsync -av "${YASHCHIKI_INSTALL}"/misc-files/init/*.sh "\${SINGULARITY_ROOTFS}/opt/init" + rsync -av "${ROOT_DIR}"/share/yashchiki/misc-files/init/*.sh "\${SINGULARITY_ROOTFS}/opt/init" %files # NOTE: Due to a bug in singularity 2.6 all paths in this section _cannot_ @@ -46,10 +47,10 @@ From: ${DOCKER_BASE_IMAGE} # there are, I pray for your poor soul that escaping them works.. # --obreitwi, 17-02-19 # 23:45:51 # provide spack command to login shells - ${YASHCHIKI_INSTALL}/misc-files/setup-spack.sh /etc/profile.d/setup-spack.sh - ${YASHCHIKI_INSTALL}/misc-files/locale.gen /etc/locale.gen - ${YASHCHIKI_INSTALL}/misc-files/locale.alias /etc/locale.alias - ${YASHCHIKI_INSTALL}/misc-files/sudoers /etc/sudoers + ${ROOT_DIR}/share/yashchiki/misc-files/setup-spack.sh /etc/profile.d/setup-spack.sh + ${ROOT_DIR}/share/yashchiki/misc-files/locale.gen /etc/locale.gen + ${ROOT_DIR}/share/yashchiki/misc-files/locale.alias /etc/locale.alias + ${ROOT_DIR}/share/yashchiki/misc-files/sudoers /etc/sudoers ${HOST_ENV_FILE} ${HOST_ENV_FILE_INSIDE} %post diff --git a/.ci/asic_spack_collection.sh b/share/yashchiki/styles/asic/spack_collection.sh similarity index 100% rename from .ci/asic_spack_collection.sh rename to share/yashchiki/styles/asic/spack_collection.sh diff --git a/.ci/asic_spack_custom_view.sh b/share/yashchiki/styles/asic/spack_custom_view.sh similarity index 100% rename from .ci/asic_spack_custom_view.sh rename to share/yashchiki/styles/asic/spack_custom_view.sh diff --git a/.ci/visionary_create_recipe.sh b/share/yashchiki/styles/visionary/create_recipe.sh similarity index 86% rename from .ci/visionary_create_recipe.sh rename to share/yashchiki/styles/visionary/create_recipe.sh index 48bc894e..b0664d25 100755 --- a/.ci/visionary_create_recipe.sh +++ b/share/yashchiki/styles/visionary/create_recipe.sh @@ -1,7 +1,7 @@ #!/bin/bash -SOURCE_DIR="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" -source "${SOURCE_DIR}/commons.sh" +ROOT_DIR="$(dirname "$(dirname "$(dirname "$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")")")")" +source "${ROOT_DIR}/lib/yashchiki/commons.sh" # create container description file # * based on Debian buster (minimal) + a few extra packages (e.g. git, python, ...) @@ -36,14 +36,15 @@ From: ${DOCKER_BASE_IMAGE} mount --no-mtab --bind "${JOB_TMP_SPACK}" "\${SINGULARITY_ROOTFS}/tmp/spack" # copy install scripts mkdir "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/*.awk "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" - rsync -av "${SOURCE_DIR}"/patches "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/share/yashchiki/styles/visionary/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/lib/yashchiki/*.sh "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/lib/yashchiki/*.awk "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" + rsync -av "${ROOT_DIR}"/share/yashchiki/patches "\${SINGULARITY_ROOTFS}/${SPACK_INSTALL_SCRIPTS}" mkdir -p "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" rsync -av "${META_DIR_OUTSIDE}"/* "\${SINGULARITY_ROOTFS}/${META_DIR_INSIDE}" # init scripts for user convenience mkdir -p "\${SINGULARITY_ROOTFS}/opt/init" - rsync -av "${YASHCHIKI_INSTALL}"/misc-files/init/*.sh "\${SINGULARITY_ROOTFS}/opt/init" + rsync -av "${ROOT_DIR}"/share/yashchiki/misc-files/init/*.sh "\${SINGULARITY_ROOTFS}/opt/init" %files # NOTE: Due to a bug in singularity 2.6 all paths in this section _cannot_ @@ -51,10 +52,10 @@ From: ${DOCKER_BASE_IMAGE} # there are, I pray for your poor soul that escaping them works.. # --obreitwi, 17-02-19 # 23:45:51 # provide spack command to login shells - ${YASHCHIKI_INSTALL}/misc-files/setup-spack.sh /etc/profile.d/setup-spack.sh - ${YASHCHIKI_INSTALL}/misc-files/locale.gen /etc/locale.gen - ${YASHCHIKI_INSTALL}/misc-files/locale.alias /etc/locale.alias - ${YASHCHIKI_INSTALL}/misc-files/sudoers /etc/sudoers + ${ROOT_DIR}/share/yashchiki/misc-files/setup-spack.sh /etc/profile.d/setup-spack.sh + ${ROOT_DIR}/share/yashchiki/misc-files/locale.gen /etc/locale.gen + ${ROOT_DIR}/share/yashchiki/misc-files/locale.alias /etc/locale.alias + ${ROOT_DIR}/share/yashchiki/misc-files/sudoers /etc/sudoers ${HOST_ENV_FILE} ${HOST_ENV_FILE_INSIDE} %post diff --git a/.ci/visionary_spack_collection.sh b/share/yashchiki/styles/visionary/spack_collection.sh similarity index 100% rename from .ci/visionary_spack_collection.sh rename to share/yashchiki/styles/visionary/spack_collection.sh diff --git a/.ci/visionary_spack_custom_view.sh b/share/yashchiki/styles/visionary/spack_custom_view.sh similarity index 100% rename from .ci/visionary_spack_custom_view.sh rename to share/yashchiki/styles/visionary/spack_custom_view.sh diff --git a/utils/README b/share/yashchiki/utils/README similarity index 100% rename from utils/README rename to share/yashchiki/utils/README diff --git a/utils/access.sh b/share/yashchiki/utils/access.sh similarity index 100% rename from utils/access.sh rename to share/yashchiki/utils/access.sh diff --git a/utils/check_build_cache_integrity.py b/share/yashchiki/utils/check_build_cache_integrity.py similarity index 100% rename from utils/check_build_cache_integrity.py rename to share/yashchiki/utils/check_build_cache_integrity.py diff --git a/utils/clean_testing_build_remnants.sh b/share/yashchiki/utils/clean_testing_build_remnants.sh similarity index 100% rename from utils/clean_testing_build_remnants.sh rename to share/yashchiki/utils/clean_testing_build_remnants.sh diff --git a/utils/dump_cache.sh b/share/yashchiki/utils/dump_cache.sh similarity index 97% rename from utils/dump_cache.sh rename to share/yashchiki/utils/dump_cache.sh index dc458305..a66a6ac8 100755 --- a/utils/dump_cache.sh +++ b/share/yashchiki/utils/dump_cache.sh @@ -93,7 +93,7 @@ fi ( # Set variables that need to be defined but are irrelevant to buildcache -# dumping (TODO: keep in sync with .ci/dummy_variables.sh!). +# dumping (TODO: keep in sync with lib/yashchiki/dummy_variables.sh!). export BUILD_CACHE_NAME="${BUILD_CACHE_NAME:-undefined}" export DEPENDENCY_PYTHON="${DEPENDENCY_PYTHON:-undefined}" export VISIONARY_GCC="${VISIONARY_GCC:-undefined}" diff --git a/utils/extract_current_pinnings.py b/share/yashchiki/utils/extract_current_pinnings.py similarity index 100% rename from utils/extract_current_pinnings.py rename to share/yashchiki/utils/extract_current_pinnings.py diff --git a/utils/extract_dna.sh b/share/yashchiki/utils/extract_dna.sh similarity index 100% rename from utils/extract_dna.sh rename to share/yashchiki/utils/extract_dna.sh diff --git a/utils/gerrit.sh b/share/yashchiki/utils/gerrit.sh similarity index 100% rename from utils/gerrit.sh rename to share/yashchiki/utils/gerrit.sh diff --git a/utils/merged.sh b/share/yashchiki/utils/merged.sh similarity index 100% rename from utils/merged.sh rename to share/yashchiki/utils/merged.sh diff --git a/utils/public.sh b/share/yashchiki/utils/public.sh similarity index 100% rename from utils/public.sh rename to share/yashchiki/utils/public.sh diff --git a/tests/test-gerrit_notify_change.sh b/tests/test-gerrit_notify_change.sh index c6c03eb1..69b882d1 100755 --- a/tests/test-gerrit_notify_change.sh +++ b/tests/test-gerrit_notify_change.sh @@ -10,19 +10,17 @@ export DEPENDENCY_PYTHON=undefined export VISIONARY_GCC=undefined export BUILD_URL="https://obreitwi/testing/manual.html" -sourcedir="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" +ROOT_DIR="$(dirname "$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")")" -notify_gerrit="${sourcedir}/../.ci/notify_gerrit.sh" +notify_gerrit="${ROOT_DIR}/bin/yashchiki/notify_gerrit.sh" -bash "${notify_gerrit}" -c "testing-notify-feature" -s "${sourcedir}/../spack" -v 1 +bash "${notify_gerrit}" -c "testing-notify-feature" -s "${ROOT_DIR}/spack" -v 1 export CONTAINER_BUILD_TYPE=stable -bash "${notify_gerrit}" -c "testing-notify-feature" -s "${sourcedir}/../spack" -v 1 +bash "${notify_gerrit}" -c "testing-notify-feature" -s "${ROOT_DIR}/spack" -v 1 export CONTAINER_BUILD_TYPE=testing -sourcedir="$(dirname "$(readlink -m "${BASH_SOURCE[0]}")")" - -bash "${notify_gerrit}" -c "testing-notify-feature" -s "${sourcedir}/../spack" -v 1 -bash "${notify_gerrit}" -c "testing-notify-feature" -s "${sourcedir}/../spack" -v -1 -bash "${notify_gerrit}" -s "${sourcedir}/../spack" -v 0 +bash "${notify_gerrit}" -c "testing-notify-feature" -s "${ROOT_DIR}/spack" -v 1 +bash "${notify_gerrit}" -c "testing-notify-feature" -s "${ROOT_DIR}/spack" -v -1 +bash "${notify_gerrit}" -s "${ROOT_DIR}/spack" -v 0 -- GitLab