name: postgres-setup docker on: push: branches: - master paths: - "docker/postgres-setup/**" - ".github/workflows/docker-postgres-setup.yml" pull_request: branches: - "**" paths: - "docker/postgres-setup/**" - ".github/workflows/docker-postgres-setup.yml" release: types: [published] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: setup: runs-on: ubuntu-latest outputs: tag: ${{ steps.tag.outputs.tag }} publish: ${{ steps.publish.outputs.publish }} steps: - name: Checkout uses: acryldata/sane-checkout-action@v3 - name: Compute Tag id: tag run: | source .github/scripts/docker_helpers.sh echo "tag=$(get_tag)" >> $GITHUB_OUTPUT - name: Check whether publishing enabled id: publish env: ENABLE_PUBLISH: ${{ secrets.ACRYL_DOCKER_PASSWORD }} run: | echo "Enable publish: ${{ env.ENABLE_PUBLISH != '' }}" echo "publish=${{ env.ENABLE_PUBLISH != '' }}" >> $GITHUB_OUTPUT push_to_registries: name: Build and Push Docker Image to Docker Hub runs-on: ubuntu-latest needs: setup steps: - name: Check out the repo uses: acryldata/sane-checkout-action@v3 - name: Build and push uses: ./.github/actions/docker-custom-build-and-push with: images: | acryldata/datahub-postgres-setup image_tag: ${{ needs.setup.outputs.tag }} username: ${{ secrets.ACRYL_DOCKER_USERNAME }} password: ${{ secrets.ACRYL_DOCKER_PASSWORD }} publish: ${{ needs.setup.outputs.publish == 'true' }} context: . file: ./docker/postgres-setup/Dockerfile platforms: linux/amd64,linux/arm64