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

Reply via email to