name: Docker Prod Image CI on: push: tags: - '*' - '!**-beta' - '!**-dev' jobs: build: runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v6 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 with: driver: docker-container - name: Docker meta for API id: api-meta uses: docker/metadata-action@v6 with: images: line/abc-user-feedback-api bake-target: api tags: | type=ref,event=branch type=ref,event=tag type=semver,pattern={{version}} - name: Docker meta for Web id: web-meta uses: docker/metadata-action@v6 with: images: line/abc-user-feedback-web bake-target: web tags: | type=ref,event=branch type=ref,event=tag type=semver,pattern={{version}} - name: Login to DockerHub if: github.event_name != 'pull_request' uses: docker/login-action@v4 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Bake and push multi-platform Docker images uses: docker/bake-action@v7 with: files: | ./docker/docker-bake.hcl cwd://${{ steps.api-meta.outputs.bake-file }} cwd://${{ steps.web-meta.outputs.bake-file }} push: true