diff --git a/build.py b/build.py index f4b6857..dc04bcc 100755 --- a/build.py +++ b/build.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -from argparse import ArgumentParser +from argparse import ArgumentParser, BooleanOptionalAction from datetime import datetime from re import search from typing import Iterable @@ -69,6 +69,8 @@ def parse_arguments(): parser = ArgumentParser("build.py", description="FTB Docker image build helper.") parser.add_argument("modpack", type=int, help="Modpack ID") parser.add_argument("--version", "-v", type=str, help="Specific Modpack Version ID, otherwise uses the latest release") + parser.add_argument("--amd64", action=BooleanOptionalAction, default=True, help="Build releases for AMD64") + parser.add_argument("--arm64", action=BooleanOptionalAction, default=True, help="Build releases for ARM64") return parser.parse_args() def get_version_by_description(modpack: ModPackManifest, version_name: str | None) -> ModPackVersion | None: @@ -120,7 +122,10 @@ if __name__ == "__main__": repo = f"hub.cnml.de/{slug}" semver_version_tags = docker.semver_tags(version["name"]) - platforms: list[docker.Platforms] = ["linux/arm64", "linux/amd64"] + platforms: list[docker.Platforms] = list(filter(None, [ + "linux/arm64" if args.arm64 else None, + "linux/amd64" if args.amd64 else None + ])) for platform in platforms: installer, checksum = get_installer(modpack, version, platform) tags = list(f"{ver}-{platform[(platform.rfind('/')+1):]}" for ver in semver_version_tags)