Add clean install option to fetch_and_deploy_gh_release
Some checks failed
Bump build.func Revision / bump-revision (push) Has been cancelled
Some checks failed
Bump build.func Revision / bump-revision (push) Has been cancelled
Introduces a CLEAN_INSTALL environment variable to optionally remove all files in the target directory before extracting a GitHub release. This ensures a clean deployment when required.
This commit is contained in:
parent
17cb74a8f0
commit
fe3de07157
@ -858,6 +858,9 @@ function fetch_and_deploy_gh_release() {
|
||||
|
||||
msg_info "Fetching GitHub release: $app ($version)"
|
||||
|
||||
local clean_install=false
|
||||
[[ -n "${CLEAN_INSTALL:-}" && "$CLEAN_INSTALL" == "1" ]] && clean_install=true
|
||||
|
||||
### Tarball Mode ###
|
||||
if [[ "$mode" == "tarball" || "$mode" == "source" ]]; then
|
||||
url=$(echo "$json" | jq -r '.tarball_url // empty')
|
||||
@ -871,6 +874,10 @@ function fetch_and_deploy_gh_release() {
|
||||
}
|
||||
|
||||
mkdir -p "$target"
|
||||
if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then
|
||||
rm -rf "${target:?}/"*
|
||||
fi
|
||||
|
||||
tar -xzf "$tmpdir/$filename" -C "$tmpdir"
|
||||
local unpack_dir
|
||||
unpack_dir=$(find "$tmpdir" -mindepth 1 -maxdepth 1 -type d | head -n1)
|
||||
@ -940,7 +947,7 @@ function fetch_and_deploy_gh_release() {
|
||||
}
|
||||
}
|
||||
|
||||
### Prebuild Mode ###
|
||||
### Prebuild Mode ###
|
||||
elif [[ "$mode" == "prebuild" ]]; then
|
||||
local pattern="${6%\"}"
|
||||
pattern="${pattern#\"}"
|
||||
@ -977,6 +984,9 @@ function fetch_and_deploy_gh_release() {
|
||||
local unpack_tmp
|
||||
unpack_tmp=$(mktemp -d)
|
||||
mkdir -p "$target"
|
||||
if [[ "${CLEAN_INSTALL:-0}" == "1" ]]; then
|
||||
rm -rf "${target:?}/"*
|
||||
fi
|
||||
|
||||
if [[ "$filename" == *.zip ]]; then
|
||||
if ! command -v unzip &>/dev/null; then
|
||||
|
Loading…
x
Reference in New Issue
Block a user