3.6 KiB
Выпуск релиза — 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:
- Проверяет Git, конфигурацию, версию и наличие release/tag; берёт локальный lock.
- Меняет только top-level
versionвpack.toml, сохраняя остальной текст. - Собирает пробный артефакт в отдельном временном output с pinned packwiz/Compose.
- При успехе коммитит только
pack.tomlс сообщениемRelease VERSION. - Собирает финальный полный release из чистого коммита, проверяет checksums и provenance.
- Создаёт 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 и рабочий сервер не менялись.