STEP_NAME=$1 COMMIT=$2 source pipe-env.sh # SETUP TMP DIR TMP_HASH=$(date | sha1sum) TMP_HASH=${TMP_HASH%% *} echo ${TMP_HASH} mkdir ${PIPE_ROOT}/${ARTIFACTS}/.${STEP_NAME}_${TMP_HASH} TMP_DIR=${PIPE_ROOT}/${ARTIFACTS}/.${STEP_NAME}_${TMP_HASH} touch ${TMP_DIR}/trace.toml echo "[${STEP_NAME}]" >> ${TMP_DIR}/trace.toml touch ${TMP_DIR}/parameters_checksum.sha1 # BUILD HASH BUILD_HASH=$(docker inspect ${STEP_NAME}:${COMMIT} --format="{{.Id}}") echo "build_hash = \"${BUILD_HASH}\"" >> ${TMP_DIR}/trace.toml # PARAM HASH (only necessary if Parameters not in GIT repo --> COMMIT) cd ${PIPE_ROOT}/${RUNTIME_PARAMS} filenames=$(find "${STEP_NAME}" -type f) for filename in ${filenames}; do sha1sum ${filename} >> ${TMP_DIR}/parameters_checksum.sha1 done cd ${PIPE_ROOT} PARAM_HASH=$(sha1sum ${TMP_DIR}/parameters_checksum.sha1) PARAM_HASH=${PARAM_HASH%% *} echo "parameters_hash = \"sha1:${PARAM_HASH}\"" >> ${TMP_DIR}/trace.toml # ARCHIVE HASH (only necessary if ArchDescr not in GIT repo --> COMMIT) STEPS=`./stoml ${PIPE_ROOT}/config.toml steps` echo $STEPS if [[ ! " ${STEPS[*]} " =~ " ${STEP_NAME} " ]]; then echo "ERROR: the step: ${STEP_NAME} is not defined." exit 1 fi ARCHIVE_DEPS=(`./stoml ${PIPE_ROOT}/config.toml steps.${STEP_NAME}.archives`) for archive in "${ARCHIVE_DEPS[@]}"; do cd ${PIPE_ROOT}/${ARCHIVES} filenames=$(find "${archive}" -type f) for filename in ${filenames}; do sha1sum ${filename} >> ${TMP_DIR}/archives_checksum.sha1 done cd ${PIPE_ROOT} done; ARCHIVES_HASH=$(sha1sum ${TMP_DIR}/archives_checksum.sha1) ARCHIVES_HASH=${ARCHIVES_HASH%% *} echo "archives_hash = \"sha1:${ARCHIVES_HASH}\"" >> ${TMP_DIR}/trace.toml # CREATE STEP HASH STEP_HASH_ID="${BUILD_HASH}-${PARAM_HASH}-${ARCHIVES_HASH}" STEP_HASH=$(echo "${STEP_HASH}" | sha1sum) echo ${STEP_HASH_ID} echo ${STEP_HASH} echo "step-id = \"${STEP_HASH_ID}\"" >> ${TMP_DIR}/trace.toml echo "step-hash = \"sha1:${STEP_HASH}\"" >> ${TMP_DIR}/trace.toml exit 0 # CREATE DEPS HASH STEPS=`./stoml ${PIPE_ROOT}/config.toml steps` echo $STEPS if [[ ! " ${STEPS[*]} " =~ " ${STEP_NAME} " ]]; then echo "ERROR: the step: ${STEP_NAME} is not defined." exit 1 fi ARTIFACTS_DEPS=(`./stoml ${PIPE_ROOT}/config.toml steps.${STEP_NAME}.artifacts`) for archive in "${ARTIFACTS_DEPS[@]}"; do cd ${PIPE_ROOT}/${ARCHIVES} filenames=$(find "${archive}" -type f) for filename in ${filenames}; do sha1sum ${filename} >> ${TMP_DIR}/archives_checksum.sha1 done cd ${PIPE_ROOT} done; exit 0 #PARAM_HASH=