import os, subprocess, sys, tomllib
SIGN_KEY: str = '021136521548EB198F64FF738E182534CDD1F2B8'
def run(cmd: list[str]) -> None:
print(' '.join(cmd))
subprocess.run(cmd, check=True)
version: str = tomllib.load(open(os.path.join(os.path.dirname(__file__), 'Cargo.toml'), 'rb'))['package']['version']
revision = subprocess.run(['git', 'show-ref', version], capture_output=True, check=True).stdout.decode()[0:40]
run(['git', 'tag', '-v', version])
run(['cargo', 'check', '--release']) run(['cargo', 'test', '--release']) run(['cargo', 'clippy', '--release']) run(['cargo', 'tarpaulin', '--release', '--engine', 'llvm', '--fail-under', '94']) run(['cargo', 'publish', '--dry-run'])
run(['cargo', 'publish'])
tags = [f'codeberg.org/pablotron/stegtext:{tag}' for tag in ['latest', version]]
run(['podman', 'build', '-t', 'stegtext:latest', '--build-arg', f'VERSION={version}', '--build-arg', f'REVISION={revision}', '.'])
run(['podman', 'tag' 'stegtext:latest', f'stegtext:{version}'] + tags)
for tag in tags:
run(['podman', 'push', '--sign-by', SIGN_KEY, tag])