release: glchat 0.1.1
Версия — в одном месте: файл VERSION в корне, из него её берут Makefile, deploy/install.sh (IMAGE_TAG) и desktop-обёртка (tauri.conf.json, Cargo.toml). Публикация обновлений (scripts/desktop-release.sh): - манифесты прошлых релизов удаляются: оставшийся <старая версия>.json перекрывал новый релиз — обёртка спрашивает манифест своей версии и видела «обновлений нет»; - mktemp-каталог раскладки получает 755, каталоги на инстансе нормализуются: rsync -a переносил режим 0700 на корень каталога обновлений, и приложение не могло читать манифесты (404 при живых файлах); - --remote работает без TTY и без sudo, если каталог обновлений записываем; опции ssh — в GLCHAT_SSH_OPTS; - предупреждение при публикации версии старше уже опубликованной. Сервер: HEAD /updates/... (chi не выводит его из GET) — размер и тип артефакта без скачивания; тест TestUpdatesAnswersHead. Приёмка на живом канале: 0.1.0 → 0.1.1 на стенде (скачивание, проверка подписи, установка, перезапуск), /Applications/glchat.app = 0.1.1.
This commit is contained in:
+5
-1
@@ -105,7 +105,11 @@ ENABLE_UFW="${ENABLE_UFW:-true}"
|
||||
ENABLE_NFTABLES="${ENABLE_NFTABLES:-true}"
|
||||
ENABLE_SSH_HARDENING="${ENABLE_SSH_HARDENING:-true}"
|
||||
APP_IMAGE="${APP_IMAGE:-glchat:local}"
|
||||
IMAGE_TAG="${IMAGE_TAG:-v0.1.0}"
|
||||
# Версия образа: файл VERSION в корне репозитория (тот же, что читает Makefile и
|
||||
# держит desktop-обёртка), с запасным значением для установки без репозитория.
|
||||
SCRIPT_VERSION="$(cat "${REPO_DIR}/VERSION" 2>/dev/null || true)"
|
||||
SCRIPT_VERSION="${SCRIPT_VERSION:-0.1.0}"
|
||||
IMAGE_TAG="${IMAGE_TAG:-v${SCRIPT_VERSION#v}}"
|
||||
# Тег + digest: реестр может перезаписать тег, digest фиксирует содержимое
|
||||
# (AGENT.md 11.3). Обновление — заменить digest после проверки образа.
|
||||
CADDY_IMAGE_TAG="${CADDY_IMAGE_TAG:-2.10-alpine@sha256:4c6e91c6ed0e2fa03efd5b44747b625fec79bc9cd06ac5235a779726618e530d}"
|
||||
|
||||
Reference in New Issue
Block a user