Fix shellcheck complains in CI scripts
.gitlab/ci/build-host.sh: Change the readonly TMPDIR variable to a global tmpdir variable and set it in the `init()` function. .gitlab/ci/build-inside-vm.sh: Change assigning the readonly tmpdir variable directly to assigning it after declaring it. Change `cleanup()` and `create_zsync_delta()` to use bash-style statements and also check whether SUDO_GID is set before using it.
This commit is contained in:
parent
1a97109639
commit
bde3971991
@ -6,18 +6,20 @@
|
|||||||
set -o nounset -o errexit
|
set -o nounset -o errexit
|
||||||
readonly MIRROR="https://mirror.pkgbuild.com"
|
readonly MIRROR="https://mirror.pkgbuild.com"
|
||||||
|
|
||||||
|
tmpdir=""
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
readonly ORIG_PWD="${PWD}"
|
readonly ORIG_PWD="${PWD}"
|
||||||
readonly OUTPUT="${PWD}/output"
|
readonly OUTPUT="${PWD}/output"
|
||||||
readonly TMPDIR="$(mktemp --dry-run --directory --tmpdir="${PWD}/tmp")"
|
tmpdir="$(mktemp --dry-run --directory --tmpdir="${PWD}/tmp")"
|
||||||
mkdir -p "${OUTPUT}" "${TMPDIR}"
|
mkdir -p "${OUTPUT}" "${tmpdir}"
|
||||||
|
|
||||||
cd "${TMPDIR}"
|
cd "${tmpdir}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Do some cleanup when the script exits
|
# Do some cleanup when the script exits
|
||||||
function cleanup() {
|
function cleanup() {
|
||||||
rm -rf -- "${TMPDIR}"
|
rm -rf -- "${tmpdir}"
|
||||||
jobs -p | xargs --no-run-if-empty kill
|
jobs -p | xargs --no-run-if-empty kill
|
||||||
}
|
}
|
||||||
trap cleanup EXIT
|
trap cleanup EXIT
|
||||||
@ -146,7 +148,7 @@ function main() {
|
|||||||
## Start build and copy output to local disk
|
## Start build and copy output to local disk
|
||||||
send "bash -x ./.gitlab/ci/build-inside-vm.sh ${PROFILE}\n "
|
send "bash -x ./.gitlab/ci/build-inside-vm.sh ${PROFILE}\n "
|
||||||
expect "# " 2400 # mksquashfs can take a very long time
|
expect "# " 2400 # mksquashfs can take a very long time
|
||||||
send "cp -r --preserve=mode,timestamps -- output /mnt/project/tmp/$(basename "${TMPDIR}")/\n"
|
send "cp -r --preserve=mode,timestamps -- output /mnt/project/tmp/$(basename "${tmpdir}")/\n"
|
||||||
expect "# " 60
|
expect "# " 60
|
||||||
mv output/* "${OUTPUT}/"
|
mv output/* "${OUTPUT}/"
|
||||||
|
|
||||||
|
@ -6,7 +6,8 @@
|
|||||||
|
|
||||||
readonly orig_pwd="${PWD}"
|
readonly orig_pwd="${PWD}"
|
||||||
readonly output="${orig_pwd}/output"
|
readonly output="${orig_pwd}/output"
|
||||||
readonly tmpdir="$(mktemp --dry-run --directory --tmpdir="${orig_pwd}/tmp")"
|
tmpdir=""
|
||||||
|
tmpdir="$(mktemp --dry-run --directory --tmpdir="${orig_pwd}/tmp")"
|
||||||
|
|
||||||
cleanup() {
|
cleanup() {
|
||||||
# clean up temporary directories
|
# clean up temporary directories
|
||||||
@ -21,7 +22,7 @@ create_checksums() {
|
|||||||
sha256sum "${1}" >"${1}.sha256"
|
sha256sum "${1}" >"${1}.sha256"
|
||||||
sha512sum "${1}" >"${1}.sha512"
|
sha512sum "${1}" >"${1}.sha512"
|
||||||
b2sum "${1}" >"${1}.b2"
|
b2sum "${1}" >"${1}.b2"
|
||||||
if [ -n "${SUDO_UID:-}" ]; then
|
if [[ -n "${SUDO_UID:-}" ]] && [[ -n "${SUDO_GID:-}" ]]; then
|
||||||
chown "${SUDO_UID}:${SUDO_GID}" "${1}"{,.b2,.sha{256,512}}
|
chown "${SUDO_UID}:${SUDO_GID}" "${1}"{,.b2,.sha{256,512}}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@ -30,7 +31,7 @@ create_zsync_delta() {
|
|||||||
# create a zsync control file for a file
|
# create a zsync control file for a file
|
||||||
# $1: a file
|
# $1: a file
|
||||||
zsyncmake -C -u "${1##*/}" -o "${1}".zsync "${1}"
|
zsyncmake -C -u "${1##*/}" -o "${1}".zsync "${1}"
|
||||||
if [ -n "${SUDO_UID:-}" ]; then
|
if [[ -n "${SUDO_UID:-}" ]] && [[ -n "${SUDO_GID:-}" ]]; then
|
||||||
chown "${SUDO_UID}:${SUDO_GID}" "${1}".zsync
|
chown "${SUDO_UID}:${SUDO_GID}" "${1}".zsync
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user