From 6c01c6a923a1884c8f67f301eff36d0d2adfda76 Mon Sep 17 00:00:00 2001 From: Stef Date: Thu, 14 Aug 2025 03:34:31 +0200 Subject: [PATCH 1/3] Update Dockerfile --- Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4f8bceb..58208d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,8 +2,13 @@ FROM python:3.12-slim # Everything will be done in /app (Not in the main OS Image) WORKDIR /app -COPY . . + +COPY requirements.txt . + RUN pip install --no-cache-dir -r requirements.txt + +COPY . . + RUN chmod +x ./entrypoint.sh ENV FLASK_APP=app.py From 91595ccc11f7f83defb3e53b3fe11c42ba80b5e1 Mon Sep 17 00:00:00 2001 From: Stef Date: Thu, 14 Aug 2025 03:39:39 +0200 Subject: [PATCH 2/3] Caching pip downloads (hopefully) --- .github/workflows/docker-ghcr.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker-ghcr.yml b/.github/workflows/docker-ghcr.yml index 49109a1..bc923bc 100644 --- a/.github/workflows/docker-ghcr.yml +++ b/.github/workflows/docker-ghcr.yml @@ -34,3 +34,5 @@ jobs: push: true platforms: linux/arm64 tags: ghcr.io/stefbuwalda/cal_counter:arm64,ghcr.io/stefbuwalda/cal_counter:latest + cache-from: type=registry,ref=ghcr.io/stefbuwalda/cal_counter:cache + cache-to: type=registry,ref=ghcr.io/stefbuwalda/cal_counter:cache,mode=max From fdf264b9c58636b676a993e99bee8b8819a9e841 Mon Sep 17 00:00:00 2001 From: Stef Date: Thu, 14 Aug 2025 03:41:34 +0200 Subject: [PATCH 3/3] Update docker-ghcr.yml --- .github/workflows/docker-ghcr.yml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker-ghcr.yml b/.github/workflows/docker-ghcr.yml index bc923bc..b1fa4db 100644 --- a/.github/workflows/docker-ghcr.yml +++ b/.github/workflows/docker-ghcr.yml @@ -14,9 +14,11 @@ jobs: runs-on: ubuntu-latest steps: + # Checkout code - name: Checkout code uses: actions/checkout@v4.2.2 + # Log in to GHCR - name: Log in to GitHub Container Registry uses: docker/login-action@v3.5.0 with: @@ -24,15 +26,22 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} + # Set up Docker Buildx (needed for ARM64 cross-build) - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.11.1 + # Build and push Docker image with caching - name: Build and push ARM64 image uses: docker/build-push-action@v6.18.0 with: context: . push: true platforms: linux/arm64 - tags: ghcr.io/stefbuwalda/cal_counter:arm64,ghcr.io/stefbuwalda/cal_counter:latest + tags: | + ghcr.io/stefbuwalda/cal_counter:arm64 + ghcr.io/stefbuwalda/cal_counter:latest cache-from: type=registry,ref=ghcr.io/stefbuwalda/cal_counter:cache cache-to: type=registry,ref=ghcr.io/stefbuwalda/cal_counter:cache,mode=max + build-args: | + PIP_NO_CACHE_DIR=1 +