Preventing downgrade on master

pull/6/head v1.9.1
Dominik Dzienia 8 months ago
parent a4c7449756
commit 3d36625af7

@ -1163,7 +1163,7 @@ update_background_check() {
} }
update_if_needed() { update_if_needed() {
download_if_needed "$@" download_if_needed "$@"
local lastDownload=$(read_or_default "$UPDATES_DIR/downloaded" "???") local lastDownload=$(read_or_default "$UPDATES_DIR/downloaded" "???")
@ -1180,105 +1180,112 @@ update_if_needed() {
fi fi
else else
local changed=0 if [ $# -eq 0 ] && [ "$UPDATE_CHANNEL" == "master" ] && [[ "$lastDownload" < "$updateInstalled" ]]; then
local redeploy=0 msgnote "Downgrade not possible on master channel"
forceUpdateCheck=1
local instOnlineVer=$(extract_version "$(<"$UPDATES_DIR/install.sh")") download_if_needed
local depEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/deployment.env")") else
local nsEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/nightscout.env")")
local compOnlineVer=$(extract_version "$(<"$UPDATES_DIR/docker-compose.yml")")
local instLocalVer=$(extract_version "$(<"$TOOL_FILE")")
local depEnvLocalVer=$(extract_version "$(<"$ENV_FILE_DEP")")
local nsEnvLocalVer=$(extract_version "$(<"$ENV_FILE_NS")")
local compLocalVer=$(extract_version "$(<"$DOCKER_COMPOSE_FILE")")
local msgInst="$(printf "\U1F7E2") $instLocalVer" local changed=0
local msgDep="$(printf "\U1F7E2") $depEnvLocalVer" local redeploy=0
local msgNs="$(printf "\U1F7E2") $nsEnvLocalVer"
local msgComp="$(printf "\U1F7E2") $compLocalVer"
if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then local instOnlineVer=$(extract_version "$(<"$UPDATES_DIR/install.sh")")
changed=$((changed + 1)) local depEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/deployment.env")")
msgInst="$(printf "\U1F534") $instLocalVer $(printf "\U27A1") $instOnlineVer" local nsEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/nightscout.env")")
fi local compOnlineVer=$(extract_version "$(<"$UPDATES_DIR/docker-compose.yml")")
if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then local instLocalVer=$(extract_version "$(<"$TOOL_FILE")")
changed=$((changed + 1)) local depEnvLocalVer=$(extract_version "$(<"$ENV_FILE_DEP")")
redeploy=$((redeploy + 1)) local nsEnvLocalVer=$(extract_version "$(<"$ENV_FILE_NS")")
msgDep="$(printf "\U1F534") $depEnvLocalVer $(printf "\U27A1") $depEnvOnlineVer" local compLocalVer=$(extract_version "$(<"$DOCKER_COMPOSE_FILE")")
fi
if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then local msgInst="$(printf "\U1F7E2") $instLocalVer"
changed=$((changed + 1)) local msgDep="$(printf "\U1F7E2") $depEnvLocalVer"
redeploy=$((redeploy + 1)) local msgNs="$(printf "\U1F7E2") $nsEnvLocalVer"
msgNs="$(printf "\U1F534") $nsEnvLocalVer $(printf "\U27A1") $nsEnvOnlineVer" local msgComp="$(printf "\U1F7E2") $compLocalVer"
fi
if ! [ "$compLocalVer" == "$compOnlineVer" ]; then if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then
changed=$((changed + 1)) changed=$((changed + 1))
redeploy=$((redeploy + 1)) msgInst="$(printf "\U1F534") $instLocalVer $(printf "\U27A1") $instOnlineVer"
msgComp="$(printf "\U1F534") $compLocalVer $(printf "\U27A1") $compOnlineVer"
fi
if [ "$changed" -eq 0 ]; then
if [ $# -eq 1 ]; then
msgok "Scripts and config files are up to date"
okdlg "Aktualizacja skryptów" "$1"
fi
else
local okTxt=""
if [ "$redeploy" -gt 0 ]; then
okTxt="${TL}${uni_warn} Aktualizacja zrestartuje i zaktualizuje kontenery ${uni_warn}"
fi fi
local versionMsg="${TL}Build: ${updateInstalled}" if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then
if [ ! "$lastDownload" == "$updateInstalled" ]; then changed=$((changed + 1))
versionMsg="$(pad_multiline "${TL}Masz build: ${updateInstalled}${NL} Dostępny: ${lastDownload}")" redeploy=$((redeploy + 1))
msgDep="$(printf "\U1F534") $depEnvLocalVer $(printf "\U27A1") $depEnvOnlineVer"
fi fi
yesnodlg "Aktualizacja skryptów" "$uni_confirm_upd" "$uni_resign" \ if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then
"Zalecana jest aktualizacja plików:${versionMsg}" \ changed=$((changed + 1))
"$( redeploy=$((redeploy + 1))
pad_multiline \ msgNs="$(printf "\U1F534") $nsEnvLocalVer $(printf "\U27A1") $nsEnvOnlineVer"
"${TL}${uni_bullet}Skrypt instalacyjny: $msgInst" \ fi
"${NL}${uni_bullet}Konfiguracja deploymentu: $msgDep" \
"${NL}${uni_bullet}Konfiguracja Nightscout: $msgNs" \
"${NL}${uni_bullet}Kompozycja usług: $msgComp${NL}"
)" \
"$okTxt"
if ! [ $? -eq 1 ]; then
clear_last_time "update_needed" if ! [ "$compLocalVer" == "$compOnlineVer" ]; then
changed=$((changed + 1))
redeploy=$((redeploy + 1))
msgComp="$(printf "\U1F534") $compLocalVer $(printf "\U27A1") $compOnlineVer"
fi
if [ "$changed" -eq 0 ]; then
if [ $# -eq 1 ]; then
msgok "Scripts and config files are up to date"
okdlg "Aktualizacja skryptów" "$1"
fi
else
local okTxt=""
if [ "$redeploy" -gt 0 ]; then if [ "$redeploy" -gt 0 ]; then
docker_compose_down okTxt="${TL}${uni_warn} Aktualizacja zrestartuje i zaktualizuje kontenery ${uni_warn}"
fi fi
if ! [ "$compOnlineVer" == "$compLocalVer" ]; then local versionMsg="${TL}Build: ${updateInstalled}"
ohai "Updating $DOCKER_COMPOSE_FILE" if [ ! "$lastDownload" == "$updateInstalled" ]; then
cp -fr "$UPDATES_DIR/docker-compose.yml" "$DOCKER_COMPOSE_FILE" versionMsg="$(pad_multiline "${TL}Masz build: ${updateInstalled}${NL} Dostępny: ${lastDownload}")"
fi fi
if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then yesnodlg "Aktualizacja skryptów" "$uni_confirm_upd" "$uni_resign" \
ohai "Updating $ENV_FILE_DEP" "Zalecana jest aktualizacja plików:${versionMsg}" \
dotenv-tool -pr -o "$ENV_FILE_DEP" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_DEP" "$(
fi pad_multiline \
"${TL}${uni_bullet}Skrypt instalacyjny: $msgInst" \
"${NL}${uni_bullet}Konfiguracja deploymentu: $msgDep" \
"${NL}${uni_bullet}Konfiguracja Nightscout: $msgNs" \
"${NL}${uni_bullet}Kompozycja usług: $msgComp${NL}"
)" \
"$okTxt"
if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then if ! [ $? -eq 1 ]; then
ohai "Updating $ENV_FILE_NS"
dotenv-tool -pr -o "$ENV_FILE_NS" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_NS" clear_last_time "update_needed"
fi
if [ "$redeploy" -gt 0 ]; then
docker_compose_down
fi
echo "$lastDownload" >"$UPDATES_DIR/updated" if ! [ "$compOnlineVer" == "$compLocalVer" ]; then
ohai "Updating $DOCKER_COMPOSE_FILE"
cp -fr "$UPDATES_DIR/docker-compose.yml" "$DOCKER_COMPOSE_FILE"
fi
if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then
ohai "Updating $ENV_FILE_DEP"
dotenv-tool -pr -o "$ENV_FILE_DEP" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_DEP"
fi
if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then
ohai "Updating $TOOL_FILE" ohai "Updating $ENV_FILE_NS"
cp -fr "$UPDATES_DIR/install.sh" "$TOOL_FILE" dotenv-tool -pr -o "$ENV_FILE_NS" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_NS"
okdlg "Aktualizacja zakończona" "Narzędzie zostanie uruchomione ponownie" fi
ohai "Restarting tool"
exec "$TOOL_FILE" echo "$lastDownload" >"$UPDATES_DIR/updated"
if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then
ohai "Updating $TOOL_FILE"
cp -fr "$UPDATES_DIR/install.sh" "$TOOL_FILE"
okdlg "Aktualizacja zakończona" "Narzędzie zostanie uruchomione ponownie"
ohai "Restarting tool"
exec "$TOOL_FILE"
fi
fi fi
fi fi
fi fi

@ -1147,7 +1147,7 @@ update_background_check() {
} }
update_if_needed() { update_if_needed() {
download_if_needed "$@" download_if_needed "$@"
local lastDownload=$(read_or_default "$UPDATES_DIR/downloaded" "???") local lastDownload=$(read_or_default "$UPDATES_DIR/downloaded" "???")
@ -1164,105 +1164,112 @@ update_if_needed() {
fi fi
else else
local changed=0 if [ $# -eq 0 ] && [ "$UPDATE_CHANNEL" == "master" ] && [[ "$lastDownload" < "$updateInstalled" ]]; then
local redeploy=0 msgnote "Downgrade not possible on master channel"
forceUpdateCheck=1
local instOnlineVer=$(extract_version "$(<"$UPDATES_DIR/install.sh")") download_if_needed
local depEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/deployment.env")") else
local nsEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/nightscout.env")")
local compOnlineVer=$(extract_version "$(<"$UPDATES_DIR/docker-compose.yml")")
local instLocalVer=$(extract_version "$(<"$TOOL_FILE")")
local depEnvLocalVer=$(extract_version "$(<"$ENV_FILE_DEP")")
local nsEnvLocalVer=$(extract_version "$(<"$ENV_FILE_NS")")
local compLocalVer=$(extract_version "$(<"$DOCKER_COMPOSE_FILE")")
local msgInst="$(printf "\U1F7E2") $instLocalVer" local changed=0
local msgDep="$(printf "\U1F7E2") $depEnvLocalVer" local redeploy=0
local msgNs="$(printf "\U1F7E2") $nsEnvLocalVer"
local msgComp="$(printf "\U1F7E2") $compLocalVer"
if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then local instOnlineVer=$(extract_version "$(<"$UPDATES_DIR/install.sh")")
changed=$((changed + 1)) local depEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/deployment.env")")
msgInst="$(printf "\U1F534") $instLocalVer $(printf "\U27A1") $instOnlineVer" local nsEnvOnlineVer=$(extract_version "$(<"$UPDATES_DIR/nightscout.env")")
fi local compOnlineVer=$(extract_version "$(<"$UPDATES_DIR/docker-compose.yml")")
if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then local instLocalVer=$(extract_version "$(<"$TOOL_FILE")")
changed=$((changed + 1)) local depEnvLocalVer=$(extract_version "$(<"$ENV_FILE_DEP")")
redeploy=$((redeploy + 1)) local nsEnvLocalVer=$(extract_version "$(<"$ENV_FILE_NS")")
msgDep="$(printf "\U1F534") $depEnvLocalVer $(printf "\U27A1") $depEnvOnlineVer" local compLocalVer=$(extract_version "$(<"$DOCKER_COMPOSE_FILE")")
fi
if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then local msgInst="$(printf "\U1F7E2") $instLocalVer"
changed=$((changed + 1)) local msgDep="$(printf "\U1F7E2") $depEnvLocalVer"
redeploy=$((redeploy + 1)) local msgNs="$(printf "\U1F7E2") $nsEnvLocalVer"
msgNs="$(printf "\U1F534") $nsEnvLocalVer $(printf "\U27A1") $nsEnvOnlineVer" local msgComp="$(printf "\U1F7E2") $compLocalVer"
fi
if ! [ "$compLocalVer" == "$compOnlineVer" ]; then if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then
changed=$((changed + 1)) changed=$((changed + 1))
redeploy=$((redeploy + 1)) msgInst="$(printf "\U1F534") $instLocalVer $(printf "\U27A1") $instOnlineVer"
msgComp="$(printf "\U1F534") $compLocalVer $(printf "\U27A1") $compOnlineVer"
fi
if [ "$changed" -eq 0 ]; then
if [ $# -eq 1 ]; then
msgok "Scripts and config files are up to date"
okdlg "Aktualizacja skryptów" "$1"
fi
else
local okTxt=""
if [ "$redeploy" -gt 0 ]; then
okTxt="${TL}${uni_warn} Aktualizacja zrestartuje i zaktualizuje kontenery ${uni_warn}"
fi fi
local versionMsg="${TL}Build: ${updateInstalled}" if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then
if [ ! "$lastDownload" == "$updateInstalled" ]; then changed=$((changed + 1))
versionMsg="$(pad_multiline "${TL}Masz build: ${updateInstalled}${NL} Dostępny: ${lastDownload}")" redeploy=$((redeploy + 1))
msgDep="$(printf "\U1F534") $depEnvLocalVer $(printf "\U27A1") $depEnvOnlineVer"
fi fi
yesnodlg "Aktualizacja skryptów" "$uni_confirm_upd" "$uni_resign" \ if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then
"Zalecana jest aktualizacja plików:${versionMsg}" \ changed=$((changed + 1))
"$( redeploy=$((redeploy + 1))
pad_multiline \ msgNs="$(printf "\U1F534") $nsEnvLocalVer $(printf "\U27A1") $nsEnvOnlineVer"
"${TL}${uni_bullet}Skrypt instalacyjny: $msgInst" \ fi
"${NL}${uni_bullet}Konfiguracja deploymentu: $msgDep" \
"${NL}${uni_bullet}Konfiguracja Nightscout: $msgNs" \
"${NL}${uni_bullet}Kompozycja usług: $msgComp${NL}"
)" \
"$okTxt"
if ! [ $? -eq 1 ]; then
clear_last_time "update_needed" if ! [ "$compLocalVer" == "$compOnlineVer" ]; then
changed=$((changed + 1))
redeploy=$((redeploy + 1))
msgComp="$(printf "\U1F534") $compLocalVer $(printf "\U27A1") $compOnlineVer"
fi
if [ "$changed" -eq 0 ]; then
if [ $# -eq 1 ]; then
msgok "Scripts and config files are up to date"
okdlg "Aktualizacja skryptów" "$1"
fi
else
local okTxt=""
if [ "$redeploy" -gt 0 ]; then if [ "$redeploy" -gt 0 ]; then
docker_compose_down okTxt="${TL}${uni_warn} Aktualizacja zrestartuje i zaktualizuje kontenery ${uni_warn}"
fi fi
if ! [ "$compOnlineVer" == "$compLocalVer" ]; then local versionMsg="${TL}Build: ${updateInstalled}"
ohai "Updating $DOCKER_COMPOSE_FILE" if [ ! "$lastDownload" == "$updateInstalled" ]; then
cp -fr "$UPDATES_DIR/docker-compose.yml" "$DOCKER_COMPOSE_FILE" versionMsg="$(pad_multiline "${TL}Masz build: ${updateInstalled}${NL} Dostępny: ${lastDownload}")"
fi fi
if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then yesnodlg "Aktualizacja skryptów" "$uni_confirm_upd" "$uni_resign" \
ohai "Updating $ENV_FILE_DEP" "Zalecana jest aktualizacja plików:${versionMsg}" \
dotenv-tool -pr -o "$ENV_FILE_DEP" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_DEP" "$(
fi pad_multiline \
"${TL}${uni_bullet}Skrypt instalacyjny: $msgInst" \
"${NL}${uni_bullet}Konfiguracja deploymentu: $msgDep" \
"${NL}${uni_bullet}Konfiguracja Nightscout: $msgNs" \
"${NL}${uni_bullet}Kompozycja usług: $msgComp${NL}"
)" \
"$okTxt"
if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then if ! [ $? -eq 1 ]; then
ohai "Updating $ENV_FILE_NS"
dotenv-tool -pr -o "$ENV_FILE_NS" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_NS" clear_last_time "update_needed"
fi
if [ "$redeploy" -gt 0 ]; then
docker_compose_down
fi
echo "$lastDownload" >"$UPDATES_DIR/updated" if ! [ "$compOnlineVer" == "$compLocalVer" ]; then
ohai "Updating $DOCKER_COMPOSE_FILE"
cp -fr "$UPDATES_DIR/docker-compose.yml" "$DOCKER_COMPOSE_FILE"
fi
if ! [ "$depEnvLocalVer" == "$depEnvOnlineVer" ]; then
ohai "Updating $ENV_FILE_DEP"
dotenv-tool -pr -o "$ENV_FILE_DEP" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_DEP"
fi
if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then if ! [ "$nsEnvLocalVer" == "$nsEnvOnlineVer" ]; then
ohai "Updating $TOOL_FILE" ohai "Updating $ENV_FILE_NS"
cp -fr "$UPDATES_DIR/install.sh" "$TOOL_FILE" dotenv-tool -pr -o "$ENV_FILE_NS" -i "$UPDATES_DIR/deployment.env" "$ENV_FILE_NS"
okdlg "Aktualizacja zakończona" "Narzędzie zostanie uruchomione ponownie" fi
ohai "Restarting tool"
exec "$TOOL_FILE" echo "$lastDownload" >"$UPDATES_DIR/updated"
if ! [ "$instOnlineVer" == "$instLocalVer" ] || ! [ "$lastDownload" == "$updateInstalled" ]; then
ohai "Updating $TOOL_FILE"
cp -fr "$UPDATES_DIR/install.sh" "$TOOL_FILE"
okdlg "Aktualizacja zakończona" "Narzędzie zostanie uruchomione ponownie"
ohai "Restarting tool"
exec "$TOOL_FILE"
fi
fi fi
fi fi
fi fi

@ -1 +1 @@
2024-10-26T07:55:59.620Z 2024-10-26T08:38:49.153Z
Loading…
Cancel
Save