name: On push on: push: branches-ignore: - 'release' - 'dependabot/**' paths-ignore: - 'dashboard/*' - 'examples/*' - 'README.md' - 'LICENSE' workflow_dispatch: env: PLATFORMS: "linux/amd64,linux/arm64,linux/arm/v7" jobs: build_and_push: name: Build and push Docker image runs-on: ubuntu-latest if: ${{ github.actor != 'dependabot[bot]' }} steps: - name: Checkout code uses: actions/checkout@v5 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3.11.1 - name: Login to Docker Hub uses: docker/login-action@v3.5.0 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_PASSWORD }} - name: Login to GitHub Container Registry uses: docker/login-action@v3.5.0 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ github.token }} - name: Docker meta id: meta uses: docker/metadata-action@v5 with: images: | ${{ github.repository }}-development ghcr.io/${{ github.repository }}-development tags: | type=raw,value=dev-{{date 'X'}} type=raw,value=latest type=ref,event=branch type=edge,branch=main - name: Build and push ${{ github.repository }}:${{ steps.git.outputs.image_tag }} uses: docker/build-push-action@v6.18.0 with: platforms: ${{ env.PLATFORMS }} push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} provenance: false