chore: auto manifest on version bump; local manual script only
contrib/manifest/generate.py + pre-commit hook; install-git-hooks.sh creates .local/build-release-manifest.sh (gitignored). Remove scripts/ from remote.
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
# Release manifest
|
||||
|
||||
Файлы `release/manifest-VERSION.json` — SHA256 агентских скриптов **как в git** (после `checkout` на Linux). Updater сверяет их до копирования на хост.
|
||||
|
||||
## Автоматически (рекомендуется)
|
||||
|
||||
Один раз после clone:
|
||||
|
||||
```bash
|
||||
./contrib/install-git-hooks.sh
|
||||
```
|
||||
|
||||
При коммите, если изменились **`version.txt`**, **`SSH_MONITOR_VERSION`** в `ssh-monitor` или любой из агентских файлов (`ssh-monitor`, `*.sh` из списка manifest), **pre-commit** вызовет `contrib/manifest/generate.py` и добавит `release/manifest-{версия}.json` в коммит.
|
||||
|
||||
## Ручная генерация (локально)
|
||||
|
||||
Скрипт **`.local/build-release-manifest.sh`** создаётся `install-git-hooks.sh` и **не коммитится** (см. `.gitignore`).
|
||||
|
||||
```bash
|
||||
./.local/build-release-manifest.sh
|
||||
./.local/build-release-manifest.sh 2.2.3-SAC
|
||||
git add release/manifest-2.2.3-SAC.json
|
||||
```
|
||||
|
||||
Ядро генерации в репозитории: `contrib/manifest/generate.py` (используется hook и локальным wrapper).
|
||||
|
||||
## Релиз (чек-лист)
|
||||
|
||||
1. Bump `SSH_MONITOR_VERSION` + `version.txt`
|
||||
2. `git add` изменённые файлы
|
||||
3. `git commit` — hook обновит manifest (или вручную `.local/build-release-manifest.sh`)
|
||||
4. `git tag X.Y.Z-SAC`
|
||||
5. Push в kalinamall (+ GitHub при необходимости)
|
||||
|
||||
Поле `git_commit` в manifest по умолчанию **пустое** (проверяются только SHA256 файлов). Опционально после коммита: `python3 contrib/manifest/generate.py --pin-commit`.
|
||||
|
||||
См. также [auto-update.ru.md](auto-update.ru.md).
|
||||
Reference in New Issue
Block a user