diff --git a/.github/workflows/build-patroni-exporter.yml b/.github/workflows/build-patroni-exporter.yml new file mode 100644 index 0000000..0890f15 --- /dev/null +++ b/.github/workflows/build-patroni-exporter.yml @@ -0,0 +1,59 @@ +name: Build patroni-exporter image + +on: + workflow_dispatch: + inputs: + image_tag: + description: 'Image tag' + required: true + default: 'latest' + +jobs: + + build-docker-image: + runs-on: ubuntu-latest + steps: + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Login to harbor registry + uses: docker/login-action@v2 + with: + registry: "${{ secrets.HARBOR_IP }}" + username: ${{ secrets.HARBOR_USER }} + password: ${{ secrets.HARBOR_TOKEN }} + - name: Setup docker context for buildx + id: buildx-context + run: docker context create builders || docker context use builders + + - name: Create BuildKit Configuration + run: | + cat < buildkitd.toml + [registry."${{ secrets.HARBOR_IP }}"] + http = false + insecure = false + ca=["/etc/ssl/certs/ca-certificates.crt"] + EOF + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + version: v0.9.1 + endpoint: builders + buildkitd-flags: --debug + config: buildkitd.toml + + - name: Checkout cads-patroni-exporter repo + uses: actions/checkout@v3 + with: + repository: ecmwf-projects/cads-patroni-exporter + token: ${{ secrets.CADS_PAT }} + path: . + + - name: Build and push + uses: docker/build-push-action@v3 + + with: + context: . + push: true + tags: ${{ secrets.HARBOR_IP }}/cads/cads-patroni-exporter:${{ github.event.inputs.image_tag }} + file: Dockerfile