diff --git a/.forgejo/workflows/docker-build.yml b/.forgejo/workflows/docker-build.yml index 038ffb8..09b6992 100644 --- a/.forgejo/workflows/docker-build.yml +++ b/.forgejo/workflows/docker-build.yml @@ -1,45 +1,64 @@ -name: Build and push Docker images +name: Build images on: push: branches: - main - - master - workflow_dispatch: +env: + # Set this to the public IP or hostname of your registry, + # whichever you use to reach it from your desktop/laptop + FORGEJO_HOST: code.zeidler.dev + HELM_EXPERIMENTAL_OCI: 1 jobs: - build: - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - include: - - service: claude - context: ./claude - - service: proxy - context: ./proxy - + check-docker: + runs-on: docker-cli + services: + docker: + image: registry.zeidler.dev/docker-hub/catthehacker/ubuntu:act-latest + options: --privileged + container: + image: registry.zeidler.dev/docker-hub/catthehacker/ubuntu:act-latest steps: - - name: Checkout + - name: Wait for Docker daemon + run: | + timeout=300 # Set a timeout value in seconds + until docker info; do + echo "Waiting for Docker daemon to start..." + sleep 5 + timeout=$((timeout-5)) + if [ $timeout -le 0 ]; then + echo "Timeout waiting for Docker daemon to start." + exit 1 + fi + done + + build-and-push: + runs-on: docker-cli + services: + docker: + image: registry.zeidler.dev/docker-hub/catthehacker/ubuntu:act-latest + options: --privileged + environment: deploy + container: + image: registry.zeidler.dev/docker-hub/catthehacker/ubuntu:act-latest + steps: + - name: Checkout the repo uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Log in to ${{ vars.REGISTRY_URL }} + - name: Login to the registry uses: docker/login-action@v3 with: registry: ${{ vars.REGISTRY_URL }} username: ${{ vars.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASSWORD }} - - - name: Build and push ${{ matrix.service }} - uses: docker/build-push-action@v5 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 with: - context: ${{ matrix.context }} + driver: docker-container + - name: Docker publish + uses: docker/build-push-action@v6 + with: + context: . push: true - tags: | - ${{ vars.REGISTRY_URL }}/${{ vars.REGISTRY_USER }}/${{ matrix.service }}:latest - ${{ vars.REGISTRY_URL }}/${{ vars.REGISTRY_USER }}/${{ matrix.service }}:${{ github.sha }} - cache-from: type=registry,ref=${{ vars.REGISTRY_URL }}/${{ vars.REGISTRY_USER }}/${{ matrix.service }}:cache - cache-to: type=registry,ref=${{ vars.REGISTRY_URL }}/${{ vars.REGISTRY_USER }}/${{ matrix.service }}:cache,mode=max + platforms: linux/amd64, linux/arm64 + tags: ${{ vars.REGISTRY_URL }}/docker/${{ env.GITHUB_REPOSITORY }}:0.1.${{ env.GITHUB_RUN_NUMBER }}