@@ -958,7 +958,7 @@ install_release() {
958958 install -d -m 0755 " $releases_dir "
959959 archive=$temporary /engine-$install_ref .tar
960960 if is_git_checkout " $repo_root " && git -C " $repo_root " cat-file -e " $install_ref ^{commit}" 2> /dev/null; then
961- git -C " $repo_root " archive --format=tar --output " $archive " " $install_ref "
961+ git -C " $repo_root " archive --format=tar --output " $archive " " $install_ref " || return 1
962962 else
963963 [[ " $engine_repository " =~ ^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$ ]] || die ' delivery engine repository is invalid'
964964 checkout=$temporary /engine-repository-$install_ref
@@ -967,12 +967,12 @@ install_release() {
967967 GIT_TERMINAL_PROMPT=0 git -C " $checkout " fetch -q --depth=1 origin " $install_ref " || die ' pinned ci-fleet engine commit could not be fetched'
968968 resolved=$( git -C " $checkout " rev-parse ' FETCH_HEAD^{commit}' )
969969 [[ " $resolved " == " $install_ref " ]] || die ' fetched ci-fleet engine commit does not match desired state'
970- git -C " $checkout " archive --format=tar --output " $archive " FETCH_HEAD
970+ git -C " $checkout " archive --format=tar --output " $archive " FETCH_HEAD || return 1
971971 fi
972972 staged_release=$( mktemp -d " $releases_dir /.${install_ref} .staging.XXXXXX" )
973973 staging_paths+=(" $staged_release " )
974974 chmod 0755 " $staged_release "
975- (umask 0022; tar --no-same-permissions -xf " $archive " -C " $staged_release " )
975+ (umask 0022; tar --no-same-permissions -xf " $archive " -C " $staged_release " ) || return 1
976976 printf ' %s\n' " $install_ref " > " $staged_release /.ci-fleet-engine-ref"
977977 chmod 0644 " $staged_release /.ci-fleet-engine-ref"
978978 release_tree_digest " $staged_release " > " $staged_release /.ci-fleet-tree-sha256"
@@ -981,7 +981,7 @@ install_release() {
981981 ! release_tree_permissions_trusted " $staged_release " ; then
982982 die ' staged engine release is incomplete or untrusted'
983983 fi
984- atomic_replace_directory " $staged_release " " $install_dir "
984+ atomic_replace_directory " $staged_release " " $install_dir " || return 1
985985}
986986
987987install_manager () {
@@ -995,18 +995,18 @@ install_manager() {
995995 ! release_tree_permissions_trusted " $manager_release " ; then
996996 install -d -m 0755 " $manager_releases "
997997 archive=$temporary /manager-$manager_commit .tar
998- tar -cf " $archive " -C " $source_release " .
998+ tar -cf " $archive " -C " $source_release " . || return 1
999999 staged_manager=$( mktemp -d " $manager_releases /.${manager_commit} .staging.XXXXXX" )
10001000 staging_paths+=(" $staged_manager " )
10011001 chmod 0755 " $staged_manager "
1002- (umask 0022; tar --no-same-permissions -xf " $archive " -C " $staged_manager " )
1002+ (umask 0022; tar --no-same-permissions -xf " $archive " -C " $staged_manager " ) || return 1
10031003 printf ' %s\n' " $manager_commit " > " $staged_manager /.ci-fleet-engine-ref"
10041004 chmod 0644 " $staged_manager /.ci-fleet-engine-ref"
10051005 if ! manager_release_complete " $staged_manager " " $manager_commit " " $require_status " " $require_schema " ||
10061006 ! release_tree_permissions_trusted " $staged_manager " ; then
10071007 die ' staged installer manager release is incomplete or untrusted'
10081008 fi
1009- atomic_replace_directory " $staged_manager " " $manager_release "
1009+ atomic_replace_directory " $staged_manager " " $manager_release " || return 1
10101010 fi
10111011 [[ " $activate " == true ]] || return 0
10121012 install -d -m 0755 " $manager_root "
0 commit comments