name: Build and Push to GHCR on: push: branches: - main permissions: packages: write contents: read jobs: build: 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: registry: ghcr.io 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 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