This is an automated email from the ASF dual-hosted git repository. adamsaghy pushed a commit to branch FINERACT-2326/publish-releases-to-docker in repository https://gitbox.apache.org/repos/asf/fineract.git
commit abf615bcfd11a86b2b8ffa6183299a86df5a40ca Author: Adam Saghy <adamsa...@gmail.com> AuthorDate: Wed Sep 17 13:07:31 2025 +0200 FINERACT-2326: Publish all tags to DockerHub --- .../workflows/publish-all-tags-to-docker-hub.yml | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/.github/workflows/publish-all-tags-to-docker-hub.yml b/.github/workflows/publish-all-tags-to-docker-hub.yml new file mode 100644 index 0000000000..66c117e9ed --- /dev/null +++ b/.github/workflows/publish-all-tags-to-docker-hub.yml @@ -0,0 +1,42 @@ +name: Publish All Tags to DockerHub + +on: [push, pull_request] + +jobs: + publish: + runs-on: ubuntu-24.04 + steps: + - name: Checkout Source Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 # fetch full history including tags + + - name: Set up JDK 21 + uses: actions/setup-java@v4 + with: + java-version: '21' + distribution: 'zulu' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Build & Push all Git tags with Jib + env: + DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }} + DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }} + run: | + git fetch --tags --force + TAGS=$(git tag --list) + + for TAG in $TAGS; do + echo "🏷️ Building and publishing Docker image for tag: $TAG" + + git checkout $TAG + + ./gradlew --no-daemon --console=plain :fineract-provider:jib -x test -x cucumber \ + -Djib.to.auth.username=$DOCKERHUB_USER \ + -Djib.to.auth.password=$DOCKERHUB_TOKEN \ + -Djib.from.platforms=linux/amd64,linux/arm64 \ + -Djib.to.image=$DOCKERHUB_USER/fineract \ + -Djib.to.tags=$TAG + done