cli: scaffold phase 1 asset release commands
Add metin-release CLI with argparse dispatcher, result envelope and error hierarchy, and the full Phase 1 release subcommand set: release inspect - scan source root release build-manifest - wraps make-manifest.py release sign - wraps sign-manifest.py, enforces mode 600 release diff-remote - HEAD each blob hash against a base URL release upload-blobs - rsync release dir minus manifest release promote - rsync manifest.json + signature release verify-public - GET + Ed25519 verify, optional blob sampling release publish - composite of the above with per-stage timings Respects --json / --verbose / --quiet. Exit codes follow the plan (1 validation, 2 remote, 3 integrity, 4 reserved for ERP).
This commit is contained in:
23
src/metin_release/commands/__init__.py
Normal file
23
src/metin_release/commands/__init__.py
Normal file
@@ -0,0 +1,23 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from . import (
|
||||
build_manifest,
|
||||
diff_remote,
|
||||
inspect,
|
||||
promote,
|
||||
publish,
|
||||
sign,
|
||||
upload_blobs,
|
||||
verify_public,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"build_manifest",
|
||||
"diff_remote",
|
||||
"inspect",
|
||||
"promote",
|
||||
"publish",
|
||||
"sign",
|
||||
"upload_blobs",
|
||||
"verify_public",
|
||||
]
|
||||
Reference in New Issue
Block a user