taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

commit e5afbde535aac614b14ed91c820262c84b28d86b
parent 2350d93bf4d978c54746fe85bc9f2b1008738b14
Author: Florian Dold <florian@dold.me>
Date:   Tue, 22 Oct 2024 14:30:26 +0200

experimental publish subcommand

Diffstat:
Mpackaging/ng/taler-pkg | 28++++++++++++++++++++++++++++
1 file changed, 28 insertions(+), 0 deletions(-)

diff --git a/packaging/ng/taler-pkg b/packaging/ng/taler-pkg @@ -161,6 +161,22 @@ def show_order(cfg): print("build order:", buildorder) +def publish(cfg): + distro = cfg.distro + vendor, codename = distro.split("-") + debs = list(Path(f"./packages/{distro}/").glob("*.deb")) + host = "gv.taler.net" + if len(debs) == 0: + print("nothing to upload") + return + subprocess.run(["scp", "--", *debs, f"taler-packaging@{host}:{codename}/"], check=True) + # FIXME: This fails when packages of the same version are already present. + # That's a problem since builds are not bit-reproducible. + subprocess.run(["ssh", f"taler-packaging@{host}", f"./include-{codename}.sh"], check=True) + subprocess.run(["ssh", f"taler-packaging@{host}", f"./export-{codename}.sh"], check=True) + subprocess.run(["ssh", f"taler-packaging@{host}", f"./show-{codename}.sh"], check=True) + + def main(): parser = argparse.ArgumentParser( prog="taler-pkg", description="Taler Packaging Helper" @@ -168,20 +184,32 @@ def main(): subparsers = parser.add_subparsers(help="Run a subcommand", metavar="SUBCOMMAND") + # subcommand build + parser_build = subparsers.add_parser("build", help="Build packages for distro.") parser_build.set_defaults(func=build) parser_build.add_argument("distro") parser_build.add_argument("--dry", help="Dry run", action="store_true", default=False) + # subcommand show-latest + parser_show_latest = subparsers.add_parser( "show-latest", help="Show latest version of packages." ) parser_show_latest.set_defaults(func=print_latest) + # subcommand show-order + parser_show_order = subparsers.add_parser("show-order", help="Show build order.") parser_show_order.set_defaults(func=show_order) parser_show_order.add_argument("roots", nargs="+") + # subcommand publish + + parser_publish = subparsers.add_parser("publish", help="Publish to deb.taler.net") + parser_publish.add_argument("distro") + parser_publish.set_defaults(func=publish) + args = parser.parse_args() if "func" not in args: