release-and-upgrade

Release и upgrade engine

Этот документ описывает правильный порядок: сначала тестируем engine на branch, потом выпускаем tag, потом обновляем garden.

Перед release

Должно быть уже сделано:

См. проверка engine до release.

Merge feature branch в main

Пример для branch debug/image-asset-resolution:

cd /home/supervisor/leonid_projects/duck-garden-engine

git checkout main
git pull origin main
git merge --no-ff debug/image-asset-resolution -m "Merge image asset resolution fix"

Поднять package version

npm version patch --no-git-tag-version

Пример: 1.0.17 станет 1.0.18.

Создать migration

Даже если config не менялся, создать пустую migration:

cat > migrations/1.0.17-to-1.0.18.js <<'EOF'
module.exports = async function migrate({ config }) {
  return config;
};
EOF

Commit и tag

git add package.json package-lock.json migrations/1.0.17-to-1.0.18.js
git commit -m "Release v1.0.18"
git tag -a v1.0.18 -m "Release v1.0.18"
git push origin main
git push origin v1.0.18

Вернуть garden с branch на release tag

cd /home/supervisor/leonid_projects/obsidians/obsidian-duck-guide/site

npm pkg set 'dependencies.@duck/garden-engine=git+ssh://git@github.com/leo-mmmmmmm/duck-garden-engine.git#v1.0.18'

В garden.config.json поставить:

"engine": {
  "version": "1.0.18"
}

Закоммитить:

git add package.json garden.config.json
git commit -m "Upgrade garden engine to v1.0.18"
git push origin main

Пересобрать garden

cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl rebuild obsidian-duck-guide

Проверить результат

curl -I https://obsidian-duck-guide.obsidians.otc.guru/
curl -I 'https://obsidian-duck-guide.obsidians.otc.guru/img/user/foto/2026-06-15%2014.57.12.jpg'

Ожидаемо:

HTTP/1.1 200 OK

Upgrade через gardenctl

Для одного garden:

cd /home/supervisor/leonid_projects/duck-obsidian/.deploy
./gardenctl upgrade obsidian-duck-guide --to 1.0.18

Для всех gardens:

./gardenctl upgrade-all --to 1.0.18

В production лучше сначала один garden, потом все остальные.

Коммиты

Для feature branch:

Fix graph backlinks resolution

Для release:

Release v1.0.18

Для garden после release:

Upgrade garden engine to v1.0.18