From 76216470b3d3da2b9e15633d4410cb2022b32108 Mon Sep 17 00:00:00 2001 From: chris-sun-star <85611200+chris-sun-star@users.noreply.github.com> Date: Tue, 25 Jun 2024 14:29:44 +0800 Subject: [PATCH] add quay and ghcr as publishing registry (#18) * specify default obcluster to obcluster during build step, fix cluster name when create tenant * acc build * upload to quay.io * add registry for quay.io * add ghcr * push to quay.io and ghcr.io * also build oceanbase-cloud-native when lts version --- .../workflows/release-lts-oceanbase-ce.yml | 30 ++++++++++++++----- .github/workflows/release-ob-configserver.yml | 19 +++++++++++- .github/workflows/release-obagent.yml | 19 +++++++++++- .github/workflows/release-oblogproxy-ce.yml | 19 +++++++++++- .github/workflows/release-obproxy-ce.yml | 19 +++++++++++- .github/workflows/release-oceanbase-ce.yml | 27 +++++++++++------ .../release-oceanbase-cloud-native.yml | 20 ++++++++++++- 7 files changed, 132 insertions(+), 21 deletions(-) diff --git a/.github/workflows/release-lts-oceanbase-ce.yml b/.github/workflows/release-lts-oceanbase-ce.yml index ffc459b..7a03e12 100644 --- a/.github/workflows/release-lts-oceanbase-ce.yml +++ b/.github/workflows/release-lts-oceanbase-ce.yml @@ -1,9 +1,9 @@ -name: release oceanbase-ce lts version +name: release lts oceanbase-ce on: push: tags: - - "oceanbase-lts-*" + - "lts-oceanbase-*" env: tagName: ${{ github.ref_name }} @@ -18,6 +18,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -26,10 +40,6 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - with: - config-inline: | - [worker.oci] - max-parallelism = 1 - name: Set Version variables id: set_version_vars @@ -42,6 +52,12 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./oceanbase-ce/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-ce:latest + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-ce:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/oceanbase-ce:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/oceanbase-ce:${{ steps.set_version_vars.outputs.version }} + ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-ce:latest + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/oceanbase-ce:latest + ghcr.io/${{ github.repository_owner }}/oceanbase-ce:latest build-args: | VERSION=${{ steps.set_version_vars.outputs.version }} diff --git a/.github/workflows/release-ob-configserver.yml b/.github/workflows/release-ob-configserver.yml index 94191c6..37b4dc9 100644 --- a/.github/workflows/release-ob-configserver.yml +++ b/.github/workflows/release-ob-configserver.yml @@ -18,6 +18,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -38,6 +52,9 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./ob-configserver/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/ob-configserver:${{ steps.set_version_vars.outputs.version }} + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/ob-configserver:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/ob-configserver:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/ob-configserver:${{ steps.set_version_vars.outputs.version }} build-args: | VERSION=${{ steps.set_version_vars.outputs.version }} diff --git a/.github/workflows/release-obagent.yml b/.github/workflows/release-obagent.yml index b25e8fb..972d10a 100644 --- a/.github/workflows/release-obagent.yml +++ b/.github/workflows/release-obagent.yml @@ -18,6 +18,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -38,6 +52,9 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./obagent/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/obagent:${{ steps.set_version_vars.outputs.version }} + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/obagent:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/obagent:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/obagent:${{ steps.set_version_vars.outputs.version }} build-args: | VERSION=${{ steps.set_version_vars.outputs.version }} diff --git a/.github/workflows/release-oblogproxy-ce.yml b/.github/workflows/release-oblogproxy-ce.yml index df79196..18edff0 100644 --- a/.github/workflows/release-oblogproxy-ce.yml +++ b/.github/workflows/release-oblogproxy-ce.yml @@ -18,6 +18,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -38,6 +52,9 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./oblogproxy-ce/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/oblogproxy-ce:${{ steps.set_version_vars.outputs.version }} + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/oblogproxy-ce:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/oblogproxy-ce:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/oblogproxy-ce:${{ steps.set_version_vars.outputs.version }} build-args: | VERSION=${{ steps.set_version_vars.outputs.version }} diff --git a/.github/workflows/release-obproxy-ce.yml b/.github/workflows/release-obproxy-ce.yml index e8b8df6..e709520 100644 --- a/.github/workflows/release-obproxy-ce.yml +++ b/.github/workflows/release-obproxy-ce.yml @@ -18,6 +18,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -38,6 +52,9 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./obproxy-ce/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/obproxy-ce:${{ steps.set_version_vars.outputs.version }} + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/obproxy-ce:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/obproxy-ce:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/obproxy-ce:${{ steps.set_version_vars.outputs.version }} build-args: | VERSION=${{ steps.set_version_vars.outputs.version }} diff --git a/.github/workflows/release-oceanbase-ce.yml b/.github/workflows/release-oceanbase-ce.yml index 15ccceb..290626a 100644 --- a/.github/workflows/release-oceanbase-ce.yml +++ b/.github/workflows/release-oceanbase-ce.yml @@ -18,6 +18,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -26,19 +40,11 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - with: - config-inline: | - [worker.oci] - max-parallelism = 1 - name: Set Version variables id: set_version_vars run: echo "version=$(echo $tagName | grep -P '(\d*\.\d*\.\d*\.\d*-\d{18})' --only-matching)" >> $GITHUB_OUTPUT - - name: Set Tag variables - id: set_tag_vars - run: echo "image_tag=$(echo $tagName | grep -P '(\d*\.\d*\.\d*\.\d*)' --only-matching)" >> $GITHUB_OUTPUT - - name: Build and push observer w/o cache uses: docker/build-push-action@v6 with: @@ -46,6 +52,9 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./oceanbase-ce/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-ce:${{ steps.set_tag_vars.outputs.image_tag }} + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-ce:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/oceanbase-ce:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/oceanbase-ce:${{ steps.set_version_vars.outputs.version }} build-args: | VERSION=${{ steps.set_version_vars.outputs.version }} diff --git a/.github/workflows/release-oceanbase-cloud-native.yml b/.github/workflows/release-oceanbase-cloud-native.yml index e68625f..3f7ac61 100644 --- a/.github/workflows/release-oceanbase-cloud-native.yml +++ b/.github/workflows/release-oceanbase-cloud-native.yml @@ -4,6 +4,7 @@ on: push: tags: - "oceanbase-*" + - "lts-oceanbase-*" env: tagName: ${{ github.ref_name }} @@ -18,6 +19,20 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Log in to Quay io + uses: docker/login-action@v3 + with: + registry: quay.io + username: ${{ secrets.QUAY_IO_USERNAME }} + password: ${{ secrets.QUAY_IO_PASSWORD }} + + - name: Log in to Ghcr io + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Checkout repository uses: actions/checkout@v4 @@ -38,6 +53,9 @@ jobs: platforms: linux/amd64,linux/arm64 file: ./oceanbase-cloud-native/Dockerfile push: true - tags: ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-cloud-native:${{ steps.set_version_vars.outputs.version }} + tags: | + ${{ vars.DOCKER_PUSH_BASE }}/oceanbase-cloud-native:${{ steps.set_version_vars.outputs.version }} + quay.io/${{ vars.QUAY_IO_PUSH_BASE }}/oceanbase-cloud-native:${{ steps.set_version_vars.outputs.version }} + ghcr.io/${{ github.repository_owner }}/oceanbase-cloud-native:${{ steps.set_version_vars.outputs.version }} build-args: | VERSION=${{ steps.set_version_vars.outputs.version }}