This commit is contained in:
@@ -4,6 +4,13 @@ root=$(cd "$(dirname "$0")/.." && pwd)
|
||||
bash -n "$root/install.sh" "$root/scripts/tallynote-update.sh"
|
||||
grep -Eq '^RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK$' "$root/systemd/tallynote.service"
|
||||
grep -Eq '^RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK$' "$root/systemd/tallynote-update.service"
|
||||
grep -Eq '^PathExists=/opt/tallynote/\.update-state$' "$root/systemd/tallynote-update.path"
|
||||
grep -Eq '^PathChanged=/opt/tallynote/\.update-state$' "$root/systemd/tallynote-update.path"
|
||||
grep -Eq '^PathChanged=/opt/tallynote$' "$root/systemd/tallynote-update.path"
|
||||
if grep -Eq '^ConditionPathExists=' "$root/systemd/tallynote-update.service"; then
|
||||
echo 'update service must not require only the request file' >&2
|
||||
exit 1
|
||||
fi
|
||||
output=$(bash "$root/install.sh" --dry-run --release-base-url https://releases.example.test/releases)
|
||||
grep -q 'dry-run' <<<"$output"
|
||||
grep -q '\[阶段\] 检查运行环境' <<<"$output"
|
||||
@@ -192,6 +199,17 @@ bash -c '
|
||||
set_env_key test value
|
||||
' _ "$installer_lib" "$release_archive" "$tmp/install-release"
|
||||
|
||||
# The installed path unit must watch both the data-directory request and the
|
||||
# release-prefix recovery marker after custom paths are substituted.
|
||||
rendered_path="$tmp/rendered-update.path"
|
||||
sed "s#/opt/tallynote#$tmp/custom-prefix#g; s#/var/lib/tallynote#$tmp/custom-data#g" \
|
||||
"$root/systemd/tallynote-update.path" > "$rendered_path"
|
||||
grep -Fxq "PathExists=$tmp/custom-data/update-request.json" "$rendered_path"
|
||||
grep -Fxq "PathChanged=$tmp/custom-data/update-request.json" "$rendered_path"
|
||||
grep -Fxq "PathExists=$tmp/custom-prefix/.update-state" "$rendered_path"
|
||||
grep -Fxq "PathChanged=$tmp/custom-prefix/.update-state" "$rendered_path"
|
||||
grep -Fxq "PathChanged=$tmp/custom-prefix" "$rendered_path"
|
||||
|
||||
# The production admin wrapper must load a release-relative runtime, change to
|
||||
# the release root, and forward CLI arguments without requiring pnpm.
|
||||
wrapper_prefix="$tmp/wrapper-prefix"
|
||||
|
||||
Reference in New Issue
Block a user