name: Docker Build and Push (Development) on: push: branches: - master jobs: build-and-push-dev: runs-on: ubuntu-latest permissions: contents: write packages: write security-events: write steps: - name: Checkout code uses: actions/checkout@v4 - name: Docker Setup QEMU uses: docker/setup-qemu-action@v3 id: qemu with: platforms: amd64,arm64 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log into ghcr.io registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} - name: Log in to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_HUB_USERNAME }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Build Docker Metadata id: docker-metadata uses: docker/metadata-action@v5 with: images: | ghcr.io/subnub/mydrive docker.io/kylehoell/mydrive flavor: | latest=auto tags: | type=ref,event=branch type=sha,commit=${{ github.sha }} type=raw,value=dev,enable={{is_default_branch}} - name: Push Service Image to repo uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile push: true provenance: mode=max tags: ${{ steps.docker-metadata.outputs.tags }} labels: ${{ steps.docker-metadata.outputs.labels }} platforms: linux/amd64,linux/arm64 cache-from: type=gha,scope=${{ github.workflow }} cache-to: type=gha,mode=max,scope=${{ github.workflow }}