name: Build and Push Docker Image on: push: branches: - main jobs: build: runs-on: ubuntu-latest container: image: gcr.io/kaniko-project/executor:debug steps: - name: Checkout code uses: actions/checkout@v4 - name: Prepare Kaniko config run: | mkdir -p /kaniko/.docker echo "{\"auths\":{\"code.puffinoffset.com\":{\"auth\":\"$(echo -n "${{ github.actor }}:${{ secrets.GITHUB_TOKEN }}" | base64)\"}}}" > /kaniko/.docker/config.json - name: Build and push with Kaniko run: | /kaniko/executor \ --context=${{ github.workspace }} \ --dockerfile=${{ github.workspace }}/Dockerfile \ --destination=code.puffinoffset.com/matt/puffin-app:latest \ --destination=code.puffinoffset.com/matt/puffin-app:main-${{ github.sha }} \ --cache=true \ --cache-repo=code.puffinoffset.com/matt/puffin-app/cache