Skip to content

Bump cloudbeaver version to 26.2.4 #85

Bump cloudbeaver version to 26.2.4

Bump cloudbeaver version to 26.2.4 #85

Workflow file for this run

name: Create and publish a Docker image
on:
push:
tags:
- '*'
branches: [ master ]
env:
BRANCH_BUILD_TAGS: "latest"
DOCKER_IMAGE: "exoplatform/cloudbeaver"
jobs:
parse-docker-build-env:
name: 'Parse Docker Build Environment'
runs-on: ubuntu-latest
outputs:
buildTags: ${{ steps.detect-push-event.outputs.buildTags }}
steps:
- name: Check if push is a tag or branch
id: detect-push-event
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
TAG="${GITHUB_REF#refs/tags/}"
echo "This is a tag push ($TAG)"
if [[ ! "$TAG" =~ ^[0-9]+\.[0-9]+\.[0-9]+(-[0-9]+)?$ ]]; then
echo "❌ Invalid tag format: $TAG"
exit 1
fi
echo "Building docker tag: ${GITHUB_REF#refs/tags/}"
echo "buildTags=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
elif [[ $GITHUB_REF == refs/heads/* ]]; then
echo "This is a branch push (${GITHUB_REF#refs/heads/})"
echo "Building docker tags: ${{ env.BRANCH_BUILD_TAGS }}"
echo "buildTags=${{ env.BRANCH_BUILD_TAGS }}" >> $GITHUB_OUTPUT
else
echo "Unknown push type"
exit 1
fi
# Nothing is published when the image breaks, e.g. after an upstream version bump
test:
name: "Test image"
uses: ./.github/workflows/test.yml
build-platforms:
name: "Build ${{ matrix.platform }}"
runs-on: ${{ matrix.runner }}
needs:
- parse-docker-build-env
- test
permissions:
actions: write
contents: read
strategy:
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
arch: amd64
- platform: linux/arm64
runner: ubuntu-24.04-arm
arch: arm64
steps:
- uses: exo-actions/buildDockerImage-action/build-and-push-image@v1
id: build
with:
dockerImage: ${{ env.DOCKER_IMAGE }}
dockerImageTag: ${{ needs.parse-docker-build-env.outputs.buildTags }}
platforms: ${{ matrix.platform }}
qemu: "false"
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
- name: Save digest
run: echo "${{ steps.build.outputs.digest }}" > "/tmp/${{ matrix.arch }}.digest"
- uses: actions/upload-artifact@v7
with:
name: ${{ matrix.arch }}-digest
path: /tmp/${{ matrix.arch }}.digest
merge-manifest:
name: "Merge multi-arch manifest"
runs-on: ubuntu-latest
needs:
- parse-docker-build-env
- build-platforms
permissions:
actions: read
steps:
- uses: actions/download-artifact@v8
with:
name: amd64-digest
path: /tmp/digests
- uses: actions/download-artifact@v8
with:
name: arm64-digest
path: /tmp/digests
- uses: exo-actions/buildDockerImage-action/merge-manifest@v1
with:
dockerImage: ${{ env.DOCKER_IMAGE }}
dockerImageTag: ${{ needs.parse-docker-build-env.outputs.buildTags }}
digestsDir: /tmp/digests
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}