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