@@ -92,16 +92,23 @@ buildah-build: check-builder load-version-json ## Build and push image (multi-ar
92
92
@echo " ✅ Using builder: $( BUILDER) "
93
93
@if [ " $( BUILDER) " = " buildah" ]; then \
94
94
echo " 🔧 Buildah detected: Performing multi-arch build..." ; \
95
+ FINAL_TAG=$(IMG ) ; \
95
96
for arch in amd64; do \
97
+ ARCH_TAG=$$ FINAL_TAG-$$ arch; \
96
98
echo " 📦 Building for architecture: $$ arch" ; \
97
- buildah build --arch=$$ arch --os=linux --layers -t $( IMG ) - $$ arch . || exit 1; \
98
- echo " 🚀 Pushing image: $( IMG ) - $$ arch " ; \
99
- buildah push $( IMG ) - $$ arch docker://$( IMG ) - $$ arch || exit 1; \
99
+ buildah build --arch=$$ arch --os=linux --layers -t $$ ARCH_TAG . || exit 1; \
100
+ echo " 🚀 Pushing image: $$ ARCH_TAG " ; \
101
+ buildah push $$ ARCH_TAG docker://$$ ARCH_TAG || exit 1; \
100
102
done ; \
101
- echo " 🧱 Creating and pushing manifest list: $( IMG) " ; \
102
- buildah manifest create $(IMG ) ; \
103
- buildah manifest add $(IMG ) $(IMG ) -amd64; \
104
- buildah manifest push --all $(IMG ) docker://$(IMG ) ; \
103
+ echo " 🧼 Removing existing manifest (if any)..." ; \
104
+ buildah manifest rm $$ FINAL_TAG || true ; \
105
+ echo " 🧱 Creating and pushing manifest list: $$ FINAL_TAG" ; \
106
+ buildah manifest create $$ FINAL_TAG; \
107
+ for arch in amd64; do \
108
+ ARCH_TAG=$$ FINAL_TAG-$$ arch; \
109
+ buildah manifest add $$ FINAL_TAG $$ ARCH_TAG; \
110
+ done ; \
111
+ buildah manifest push --all $$ FINAL_TAG docker://$$ FINAL_TAG; \
105
112
elif [ " $( BUILDER) " = " docker" ]; then \
106
113
echo " 🐳 Docker detected: Building with buildx..." ; \
107
114
sed -e ' 1 s/\(^FROM\)/FROM --platform=$${BUILDPLATFORM}/' Dockerfile > Dockerfile.cross; \
0 commit comments