Skip to content
Snippets Groups Projects
Commit bc8e3271 authored by Philipp Spilger's avatar Philipp Spilger
Browse files

Move files to locations as when they are installed

* allows easy checking of working relative locations without actual install

Change-Id: Ib7d01b7e4be522edaa683eefa854a1bb1ce35560
parent 4b50e0aa
No related branches found
No related tags found
No related merge requests found
Showing
with 58 additions and 54 deletions
......@@ -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}'"
}
}
}
......
......@@ -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"
......
......@@ -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"
......
#!/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
......@@ -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}"
......
......@@ -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=""
......
.ci
\ No newline at end of file
File moved
File moved
......@@ -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}"
......
......@@ -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=()
......
......@@ -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}"
......
File moved
File moved
File moved
File moved
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment