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

spmallette pushed a commit to branch gha-fix
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git


The following commit(s) were added to refs/heads/gha-fix by this push:
     new d76bf8a9ea Improved GHA setup by centralizing build exclusions
d76bf8a9ea is described below

commit d76bf8a9eae6a9487ead08b46504ce1300738ae6
Author: Stephen Mallette <[email protected]>
AuthorDate: Fri Oct 17 07:59:23 2025 -0400

    Improved GHA setup by centralizing build exclusions
---
 .github/workflows/build-test.yml | 44 ++++++++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 17 deletions(-)

diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml
index e777290fc8..d7c9e89e89 100644
--- a/.github/workflows/build-test.yml
+++ b/.github/workflows/build-test.yml
@@ -1,5 +1,11 @@
 name: build-test
 on: [push, pull_request]
+env:
+  # modules commonly excluded from builds as they have their own independent 
non-JVM setups and can be run in parallel.
+  # take care when modifying this list because GLVs use shell commands to 
remove themselves from this list and
+  # modifications could break patterns of replacment they are searching for.
+  EXCLUDE_MODULES: 
'-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-javascript,-:gremlint,-:gremlin-python'
+  EXCLUDE_FOR_GLV: 
'-:gremlin-annotations,-:gremlin-archetype,-:gremlin-console,-:hadoop-gremlin,-:neo4j-gremlin,-:spark-gremlin,-:sparql-gremlin'
 jobs:
   smoke:
     name: smoke
@@ -27,7 +33,7 @@ jobs:
           java-version: '17'
           distribution: 'temurin'
       - name: Build with Maven
-        run: mvn clean install -pl 
-:gremlin-javascript,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python
 -Dci --batch-mode 
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
+        run: mvn clean install -pl $EXCLUDE_MODULES -Dci --batch-mode 
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
   java-jdk11:
     name: mvn clean install - jdk11
     timeout-minutes: 45
@@ -41,7 +47,7 @@ jobs:
           java-version: '11'
           distribution: 'temurin'
       - name: Build with Maven
-        run: mvn clean install -pl 
-:gremlin-javascript,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python
 -Dci --batch-mode 
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
 -Dcoverage
+        run: mvn clean install -pl $EXCLUDE_MODULES -Dci --batch-mode 
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
 -Dcoverage
       - name: Upload to Codecov
         uses: codecov/codecov-action@v5
         with:
@@ -60,7 +66,7 @@ jobs:
           distribution: 'temurin'
       - name: Build with Maven
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl :gremlin-server -DskipTests 
-DskipIntegrationTests=false -DincludeNeo4j
   gremlin-server-unified:
     name: gremlin-server unified
@@ -76,7 +82,7 @@ jobs:
           distribution: 'temurin'
       - name: Build with Maven
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl :gremlin-server -DskipTests 
-DskipIntegrationTests=false -DincludeNeo4j -DtestUnified=true
   cache-gremlin-server-docker-image:
       name: cache gremlin-server docker image
@@ -129,11 +135,11 @@ jobs:
       - name: Build with Maven Windows
         if: runner.os == 'Windows'
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -DskipImageBuild -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests 
-DskipImageBuild -Dci
       - name: Build with Maven Ubuntu
         if: runner.os == 'Linux'
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl :spark-gremlin -DskipTests 
-DskipIntegrationTests=false 
'-Dit.test=*IntegrateTest,!SparkGryoSerializerGraphComputerProcessIntegrateTest'
   spark-gryo:
     name: spark gryo
@@ -153,11 +159,11 @@ jobs:
       - name: Build with Maven Windows
         if: runner.os == 'Windows'
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -DskipImageBuild -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests 
-DskipImageBuild -Dci
       - name: Build with Maven Ubuntu
         if: runner.os == 'Linux'
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl :spark-gremlin -DskipTests 
-DskipIntegrationTests=false 
-Dit.test=SparkGryoSerializerGraphComputerProcessIntegrateTest
   gremlin-console:
     name: gremlin-console
@@ -174,7 +180,7 @@ jobs:
       - name: Build with Maven
         run: |
           touch gremlin-python/.glv
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl :gremlin-console -DskipTests 
-DskipIntegrationTests=false
   gremlin-driver:
     name: gremlin-driver
@@ -190,7 +196,7 @@ jobs:
           distribution: 'temurin'
       - name: Build with Maven
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl gremlin-driver -DskipIntegrationTests=false
   javascript:
     name: javascript
@@ -229,7 +235,8 @@ jobs:
         run: docker load --input gremlin-server.tar
       - name: Build with Maven
         run: |
-          mvn clean install -pl 
-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests 
-q -DskipTests -Dci
+          
EXCLUDE="-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python,$EXCLUDE_FOR_GLV"
+          mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
           mvn verify -pl :gremlin-javascript,:gremlint
   python:
     name: python
@@ -244,13 +251,14 @@ jobs:
           java-version: '11'
           distribution: 'temurin'
       - name: Set up Python 3.x
-        uses: actions/setup-python@v5
+        uses: actions/setup-python@v6
         with:
           python-version: '3.9'
       - name: Build with Maven
         run: |
           touch gremlin-python/.glv
-          mvn clean install -pl 
-:gremlin-javascript,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint
 -q -DskipTests -Dci
+          EXCLUDE="${EXCLUDE_MODULES/,-:gremlin-python},$EXCLUDE_FOR_GLV"
+          mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
           mvn verify -pl gremlin-python
   dotnet:
     name: .NET
@@ -265,7 +273,7 @@ jobs:
           java-version: '11'
           distribution: 'temurin'
       - name: Set up .NET 8.0.x
-        uses: actions/setup-dotnet@v4
+        uses: actions/setup-dotnet@v5
         with:
           dotnet-version: '8.0.x'
       - name: Get Cached Server Base Image
@@ -283,7 +291,8 @@ jobs:
         run: |
           touch gremlin-dotnet/src/.glv
           touch gremlin-dotnet/test/.glv
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-:gremlint -q -DskipTests -Dci
+          
EXCLUDE="${EXCLUDE_MODULES/-:gremlin-dotnet-source,-:gremlin-dotnet-tests,},$EXCLUDE_FOR_GLV"
+          mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
           mvn verify -pl :gremlin-dotnet,:gremlin-dotnet-tests -P 
gremlin-dotnet
   neo4j-gremlin:
     name: neo4j-gremlin
@@ -299,7 +308,7 @@ jobs:
           distribution: 'temurin'
       - name: Build with Maven
         run: |
-          mvn clean install -pl 
-:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests
 -q -DskipTests -Dci
+          mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
           mvn verify -pl :neo4j-gremlin -DincludeNeo4j
   go:
     name: go
@@ -328,7 +337,8 @@ jobs:
         working-directory: .
         run: |
           touch gremlin-go/.glv
-          mvn clean install -pl 
-:gremlin-python,-:gremlin-javascript,-:gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests
 -q -DskipTests -Dci
+          EXCLUDE="${EXCLUDE_MODULES/-:gremlin-go,},$EXCLUDE_FOR_GLV"
+          mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
           mvn verify -pl :gremlin-go
       - name: Upload to Codecov
         uses: codecov/codecov-action@v5

Reply via email to