This commit is contained in:
@@ -23,56 +23,31 @@ jobs:
|
||||
qemu-user-static \
|
||||
binfmt-support
|
||||
|
||||
- name: Set up QEMU
|
||||
- name: Set up Docker Buildx
|
||||
run: |
|
||||
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||
# Create and use a new builder instance with the latest features
|
||||
docker buildx create --name multiarch-builder --driver docker-container --use
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
- name: Login to registry
|
||||
env:
|
||||
REGISTRY_USER: ${{ secrets.REGISTRY_USER }}
|
||||
REGISTRY_PASS: ${{ secrets.REGISTRY_PASS }}
|
||||
run: |
|
||||
echo "$REGISTRY_PASS" | DOCKER_API_VERSION=1.44 docker login registry.infra.mintel.me -u "$REGISTRY_USER" --password-stdin
|
||||
echo "$REGISTRY_PASS" | docker login registry.infra.mintel.me -u "$REGISTRY_USER" --password-stdin
|
||||
|
||||
- name: Build image for AMD64
|
||||
- name: Build and push multi-arch image
|
||||
run: |
|
||||
# Build for AMD64 (x86_64)
|
||||
DOCKER_API_VERSION=1.44 docker build \
|
||||
--platform linux/amd64 \
|
||||
# Build for both AMD64 and ARM64 simultaneously and push directly
|
||||
docker buildx build \
|
||||
--platform linux/amd64,linux/arm64 \
|
||||
--pull \
|
||||
--build-arg NEXT_PUBLIC_UMAMI_WEBSITE_ID=${{ secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID }} \
|
||||
--build-arg NEXT_PUBLIC_UMAMI_SCRIPT_URL=${{ secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL }} \
|
||||
--build-arg NEXT_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} \
|
||||
-t registry.infra.mintel.me/mintel/klz-cables.com:amd64 .
|
||||
|
||||
- name: Build image for ARM64
|
||||
run: |
|
||||
# Build for ARM64 using QEMU emulation
|
||||
DOCKER_API_VERSION=1.44 docker build \
|
||||
--platform linux/arm64 \
|
||||
--pull \
|
||||
--build-arg NEXT_PUBLIC_UMAMI_WEBSITE_ID=${{ secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID }} \
|
||||
--build-arg NEXT_PUBLIC_UMAMI_SCRIPT_URL=${{ secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL }} \
|
||||
--build-arg NEXT_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} \
|
||||
-t registry.infra.mintel.me/mintel/klz-cables.com:arm64 .
|
||||
|
||||
- name: Push architecture-specific images
|
||||
run: |
|
||||
# Push both architecture-specific images
|
||||
DOCKER_API_VERSION=1.44 docker push registry.infra.mintel.me/mintel/klz-cables.com:amd64
|
||||
DOCKER_API_VERSION=1.44 docker push registry.infra.mintel.me/mintel/klz-cables.com:arm64
|
||||
|
||||
- name: Create and push multi-arch manifest
|
||||
run: |
|
||||
# Create multi-arch manifest
|
||||
DOCKER_API_VERSION=1.44 docker manifest create \
|
||||
registry.infra.mintel.me/mintel/klz-cables.com:latest \
|
||||
registry.infra.mintel.me/mintel/klz-cables.com:amd64 \
|
||||
registry.infra.mintel.me/mintel/klz-cables.com:arm64
|
||||
|
||||
# Push the manifest
|
||||
DOCKER_API_VERSION=1.44 docker manifest push \
|
||||
registry.infra.mintel.me/mintel/klz-cables.com:latest
|
||||
-t registry.infra.mintel.me/mintel/klz-cables.com:latest \
|
||||
--push \
|
||||
.
|
||||
|
||||
- name: Setup SSH
|
||||
run: |
|
||||
|
||||
Reference in New Issue
Block a user