@@ -51,11 +51,19 @@ publish: ## Publish Python package to PyPI
5151 @echo " Publishing package to PyPI..."
5252 twine upload dist/*
5353
54- package_all : dist publish # # Build & Publish Python package to PyPI
54+ package_all : dist publish # # Build & Publish Python package to PyPI
5555
56- ghcr_build : dist # # Build GitHub container image
56+ ghcr_build : dist # # Build GitHub container image with local arch
5757 @echo " Building GHCR container image..."
58- docker build --no-cache -t $(GHCR_FULLNAME ) --platform linux/amd64 .
58+ docker build -t $(GHCR_FULLNAME ) .
59+
60+ ghcr_amd64 : dist # # Build GitHub AMD64 container image
61+ @echo " Building GHCR AMD64 container image..."
62+ docker build -t $(GHCR_FULLNAME ) --platform linux/amd64 .
63+
64+ ghcr_arm64 : dist # # Build GitHub ARM64 container image
65+ @echo " Building GHCR ARM64 container image..."
66+ docker build -t $(GHCR_FULLNAME ) --platform linux/arm64 .
5967
6068ghcr_tag : # # Tag the latest GH container image with the version from Python
6169 @echo " Tagging GHCR latest image with $( VERSION) ..."
@@ -66,12 +74,24 @@ ghcr_push: ## Push the GH container image to GH Packages
6674 docker push $(GHCR_FULLNAME ) :$(VERSION )
6775 docker push $(GHCR_FULLNAME ) :latest
6876
69- ghcr_all : ghcr_build ghcr_tag ghcr_push # # Execute all GitHub Package container actions
77+ ghcr_release : dist # # Build/Publish GitHub multi-platform container image
78+ @echo " Building & Releasing GHCR multi-platform container image $( VERSION) ..."
79+ docker buildx build --push -t $(GHCR_FULLNAME ) :$(VERSION ) --platform linux/arm64,linux/amd64 .
80+
81+ ghcr_all : ghcr_release # # Execute all GHCR container actions
7082
71- docker_build : # # Build Docker container image
83+ docker_build : # # Build Docker container image with local arch
7284 @echo " Building Docker image..."
7385 docker build --no-cache -t $(DOCKER_FULLNAME ) .
7486
87+ docker_amd64 : dist # # Build Docker AMD64 container image
88+ @echo " Building Docker AMD64 container image..."
89+ docker build -t $(DOCKER_FULLNAME ) --platform linux/amd64 .
90+
91+ docker_arm64 : dist # # Build Docker ARM64 container image
92+ @echo " Building Docker ARM64 container image..."
93+ docker build -t $(DOCKER_FULLNAME ) --platform linux/arm64 .
94+
7595docker_tag : # # Tag the latest Docker container image with the version from Python
7696 @echo " Tagging Docker latest image with $( VERSION) ..."
7797 docker tag $(DOCKER_FULLNAME ) :latest $(DOCKER_FULLNAME ) :$(VERSION )
@@ -81,4 +101,8 @@ docker_push: ## Push the Docker container image to DockerHub
81101 docker push $(DOCKER_FULLNAME ) :$(VERSION )
82102 docker push $(DOCKER_FULLNAME ) :latest
83103
84- docker_all : docker_build docker_tag docker_push # # Execute all DockerHub container actions
104+ docker_release : dist # # Build/Publish Docker multi-platform container image
105+ @echo " Building & Releasing Docker multi-platform container image $( VERSION) ..."
106+ docker buildx build --push -t $(DOCKER_FULLNAME ) :$(VERSION ) --platform linux/arm64,linux/amd64 .
107+
108+ docker_all : docker_release # # Execute all DockerHub container actions
0 commit comments