jenkins-pipelines/scripts/record-build-status.sh
Davlet Panech ee100b99a6 CENGN compatibility + misc changes
* moved lib/ => scripts/lib/
* moved pipelines/vars => vars/

* lib/job_utils.sh: protect /home/{localdisk,loadbuild}
* lib/publish_utils.sh: don't copy xattrs when publishing
* pipelines/monolithic.Jenkinsfile: print BUILD_OUTPUT_HOME_URL
  & PUBLISH_URL at the end
* pipelines/parts/*.Jenkinsfile: add missing job parameters
* scripts/00_junk: deleted unused directory
* scripts/{build,archive}-helm-charts.sh: don't clobber helm
  charts output with multiple invocations
* scripts/build-docker*.sh: omit --registry if not defined
* scripts/docker-login.sh:
  - handle empty registry (ie docker.io)
  - fix $DOCKER_CONFIG_FILE being absolute
* scripts/print-config.sh:
  - also print PUBLISH_URL
* scripts/record-build-status.sh:
  - add missing function "same_path"

Signed-off-by: Davlet Panech <davlet.panech@windriver.com>
2022-08-11 09:49:08 -04:00

50 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
set -e
source $(dirname "$0")/lib/job_utils.sh
require_env BUILD_STATUS
load_build_env
if $DRY_RUN ; then
bail "DRY_RUN=true, bailing out..."
fi
touch "$BUILD_OUTPUT_HOME/FAIL"
ARCHIVE_ROOT=$(dirname "$BUILD_OUTPUT_HOME")
same_path() {
if [[ ! -e "$1" && ! -e "$2" ]] ; then
return 1
fi
local a b
a="$(readlink -f "$1")" || exit 1
b="$(readlink -f "$2")" || exit 1
[[ "$a" == "$b" ]]
}
if [[ "$BUILD_STATUS" == "success" ]] ; then
ARCHIVE_ROOT=$(dirname "$BUILD_OUTPUT_HOME")
link_target=$(basename "$BUILD_OUTPUT_HOME")
cp "$BUILD_OUTPUT_HOME/LAST_COMMITS" "$ARCHIVE_ROOT/"
ln -sfn "$link_target" "$ARCHIVE_ROOT/latest_build"
if "$BUILD_DOCKER_IMAGES" ; then
cp "$BUILD_OUTPUT_HOME/LAST_COMMITS" "$ARCHIVE_ROOT/LAST_COMMITS_IMG_STABLE"
ln -sfn "$link_target" "$ARCHIVE_ROOT/latest_docker_image_build"
fi
rm -f "$BUILD_OUTPUT_HOME/FAIL"
touch "$BUILD_OUTPUT_HOME/SUCCESS"
mkdir -p "$PUBLISH_ROOT"
if ! same_path "$PUBLISH_ROOT" "$ARCHIVE_ROOT" ; then
link_target="${PUBLISH_ROOT}/$PUBLISH_TIMESTAMP"
if [[ -d "$link_target" ]] ; then
ln -sfn "$PUBLISH_TIMESTAMP" "$PUBLISH_ROOT/latest_build"
fi
fi
fi