This commit is contained in:
2025-09-20 10:58:44 -07:00
parent ea1ddea242
commit 240b40f6b2
2 changed files with 19 additions and 8 deletions

View File

@@ -7,16 +7,13 @@ on:
- main
paths:
- 'app.py'
- 'dockerfile'
- 'Dockerfile'
- 'requirements.txt'
- 'docker-compose.yml'
jobs:
build-and-push:
runs-on: ubuntu-latest
strategy:
matrix:
arch: [amd64, arm64]
permissions:
contents: read
packages: write
@@ -35,15 +32,30 @@ jobs:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create multi-arch Dockerfile
run: |
cat > Dockerfile <<EOF
FROM --platform=\$BUILDPLATFORM python:3.11-slim as builder
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
FROM python:3.11-slim
WORKDIR /app
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=builder /usr/local/bin /usr/local/bin
COPY . .
CMD ["python", "app.py"]
EOF
- name: Build and push multi-arch Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
platforms: linux/${{ matrix.arch }}
build-args: |
TARGETARCH=${{ matrix.arch }}
platforms: linux/amd64,linux/arm64
tags: |
ghcr.io/${{ github.repository }}:latest
ghcr.io/${{ github.repository }}:${{ github.sha }}