This is an automated email from the ASF dual-hosted git repository.

yasith pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/airavata.git


The following commit(s) were added to refs/heads/master by this push:
     new c512da5a72 Add GitHub Actions Workflow for Maven Build and Docker 
Image Push (#521)
c512da5a72 is described below

commit c512da5a72c2039fc4d4d86cff3e3af36e5968e4
Author: Yasindu Dissanayake <[email protected]>
AuthorDate: Fri Jun 20 23:18:32 2025 +0530

    Add GitHub Actions Workflow for Maven Build and Docker Image Push (#521)
    
    * Add Build Workflow
    
    * Add Build Workflow
    
    * Add Build Workflow
    
    * Add Build Workflow
    
    * Add cybershuttle as username and remove branch
    
    * Remove trigger on push master
---
 .github/workflows/build-and-publish.yml | 64 +++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/.github/workflows/build-and-publish.yml 
b/.github/workflows/build-and-publish.yml
new file mode 100644
index 0000000000..1b48c60f65
--- /dev/null
+++ b/.github/workflows/build-and-publish.yml
@@ -0,0 +1,64 @@
+name: Maven Docker Build & Push
+
+on:
+  push:
+    tags:
+      - "v*"
+  release:
+    types: [published]
+
+env:
+  DOCKER_REGISTRY: docker.io
+  DOCKER_USERNAME: cybershuttle
+  VERSION: ${{ github.ref_name }}
+
+jobs:
+  build:
+    runs-on: ubuntu-22.04
+
+    steps:
+      - name: Install OS dependencies
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y build-essential automake bison flex 
libboost-all-dev libevent-dev libssl-dev libtool pkg-config
+
+      - name: Set up Thrift 0.22.0
+        run: |
+          wget -q https://dlcdn.apache.org/thrift/0.22.0/thrift-0.22.0.tar.gz
+          tar -xzf thrift-0.22.0.tar.gz
+          cd thrift-0.22.0
+          ./configure --without-rs --enable-libs=no --enable-tests=no
+          make -j$(nproc)
+          sudo make install
+
+      - name: Set up JDK 17
+        uses: actions/setup-java@v4
+        with:
+          distribution: "temurin"
+          java-version: "17"
+
+      - name: Checkout code
+        uses: actions/checkout@v4
+
+      - name: Login to Docker Hub
+        uses: docker/login-action@v3
+        with:
+          username: ${{ secrets.DOCKER_HUB_USERNAME }}
+          password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
+
+      - name: Build with Maven (skip tests)
+        run: mvn clean install -DskipTests
+
+      - name: Build Docker Images
+        run: |
+          mvn docker:build -pl modules/distribution
+
+      - name: List Docker Images
+        run: docker images
+
+      - name: Tag and Push Images
+        run: |
+          for image in email-monitor participant post-wm pre-wm api-server 
controller; do
+            docker tag airavata/$image 
${DOCKER_USERNAME}/airavata-$image:${VERSION}
+            docker push ${DOCKER_USERNAME}/airavata-$image:${VERSION}
+          done

Reply via email to