Files
minecraft-lab/docs/releases.md
T
2026-10-04 00:30:09 +07:00

3.6 KiB
Raw Blame History

Выпуск релиза — Phase 9

./mcpack release 0.0.6
# Дополнительная конфигурация:
./mcpack release 0.0.6 --config platform/config.yaml

Команда требует чистый Git worktree, включая untracked files, активную ветку, полный локальный clone и настроенные Git author/committer. Подготовьте исходники обычным Git-коммитом заранее. Команда не коммитит остальные изменения проекта. Версия — MAJOR.MINOR.PATCH, допускается prerelease (0.1.0-rc.1). Build metadata с + пока не поддерживается форматом имён deployment. Версия должна отличаться от текущей и не быть занята каталогом релиза или локальным tag vVERSION. Удалённые tags автоматически не загружаются: синхронизация refs остаётся задачей оператора.

Workflow:

  1. Проверяет Git, конфигурацию, версию и наличие release/tag; берёт локальный lock.
  2. Меняет только top-level version в pack.toml, сохраняя остальной текст.
  3. Собирает пробный артефакт в отдельном временном output с pinned packwiz/Compose.
  4. При успехе коммитит только pack.toml с сообщением Release VERSION.
  5. Собирает финальный полный release из чистого коммита, проверяет checksums и provenance.
  6. Создаёт annotated tag vVERSION на тот же commit и выводит каталог/commit/tag.

Пробный output удаляется. Ошибка до коммита восстанавливает точный исходный pack.toml; параллельные изменения сохраняются для разбора. Если финальная сборка или создание tag завершается ошибкой, version commit остаётся, tag не создаётся этой операцией. Финальный артефакт, если уже создан, остаётся для проверки. Автоматического Git reset коммита, перезаписи существующего release/tag, push, публикации или deployment нет.

После прерывания изучите HEAD, status, refs, dist/ и .tools/release.lock. Убедитесь, что процесс закончился, прежде чем убрать stale lock. После ошибки финальной сборки исправьте причину и осознанно завершите выпуск из чистого коммита: ./mcpack build --release, затем проверьте manifest/SHA256SUMS и создайте annotated vVERSION на manifest commit. Если артефакт уже существует, проверьте его целиком, не запускайте повторный build поверх него. Tag создавайте только после проверки.

В текущем workspace пока незакоммиченные исходники: release корректно откажет. Phase 9 проверена на отдельном source snapshot, с настоящими packwiz/Compose, version commit и tag; основной Git, версия pack и рабочий сервер не менялись.