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

yasith pushed a commit to branch AIRAVATA-3981/integration-health-check
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 5125929759397adc153a9cb81d95514795c99b76
Author: yasithdev <[email protected]>
AuthorDate: Thu Mar 26 15:32:03 2026 -0500

    feat: add Tiltfile for dev orchestration and integration testing
---
 Tiltfile             | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 airavata-api/pom.xml | 18 ++++++++++++++++++
 2 files changed, 66 insertions(+)

diff --git a/Tiltfile b/Tiltfile
new file mode 100644
index 0000000000..a7a7d32e63
--- /dev/null
+++ b/Tiltfile
@@ -0,0 +1,48 @@
+# Airavata Development Tiltfile
+# Usage: tilt up
+
+# --- Infrastructure (from compose.yml) ---
+docker_compose('./compose.yml')
+
+# --- Build ---
+local_resource(
+    'build',
+    cmd='mvn package -DskipTests -T4 -pl airavata-api,airavata-thrift-server 
-am -q',
+    deps=[
+        'airavata-api/src',
+        'airavata-api/pom.xml',
+        'airavata-thrift-server/src',
+        'airavata-thrift-server/pom.xml',
+    ],
+    labels=['build'],
+)
+
+# --- Airavata Server (classpath mode) ---
+local_resource(
+    'airavata-server',
+    serve_cmd=' '.join([
+        'java',
+        '-cp', 
'airavata-thrift-server/target/classes:airavata-api/target/classes:airavata-api/target/dependency/*',
+        '-Dlog4j.configurationFile=airavata-api/src/main/resources/log4j2.xml',
+        '-Dairavata.config.dir=airavata-api/src/main/resources',
+        'org.apache.airavata.api.server.AiravataServer',
+    ]),
+    readiness_probe=probe(
+        http_get=http_get_action(port=9097, path='/health/services'),
+        period_secs=5,
+        timeout_secs=5,
+        initial_delay_secs=15,
+    ),
+    resource_deps=['build', 'db', 'rabbitmq', 'zookeeper', 'kafka', 
'keycloak'],
+    labels=['airavata'],
+)
+
+# --- Integration Tests ---
+local_resource(
+    'integration-tests',
+    cmd='mvn test -pl integration-tests -Dgroups=integration -am -q',
+    resource_deps=['airavata-server'],
+    auto_init=False,
+    trigger_mode=TRIGGER_MODE_MANUAL,
+    labels=['tests'],
+)
diff --git a/airavata-api/pom.xml b/airavata-api/pom.xml
index d9a8a88957..363c46a43a 100644
--- a/airavata-api/pom.xml
+++ b/airavata-api/pom.xml
@@ -570,6 +570,24 @@ under the License.
         </executions>
       </plugin>
 
+      <!-- Copy runtime dependencies for classpath mode (Tiltfile) -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>copy-dependencies</id>
+            <phase>package</phase>
+            <goals>
+              <goal>copy-dependencies</goal>
+            </goals>
+            <configuration>
+              
<outputDirectory>${project.build.directory}/dependency</outputDirectory>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+
       <!-- Package distribution (docker) preparation -->
       <plugin>
         <artifactId>maven-resources-plugin</artifactId>

Reply via email to