11name : build-test
22on : [push, pull_request]
3+ env :
4+ # modules commonly excluded from builds as they have their own independent non-JVM setups and can be run in parallel.
5+ # take care when modifying this list because GLVs use shell commands to remove themselves from this list and
6+ # modifications could break patterns of replacement they are searching for.
7+ EXCLUDE_MODULES : ' -:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-javascript,-:gremlint,-:gremlin-python'
8+ EXCLUDE_FOR_GLV : ' -:gremlin-annotations,-:gremlin-archetype,-:gremlin-console,-:hadoop-gremlin,-:neo4j-gremlin,-:spark-gremlin,-:sparql-gremlin'
39jobs :
410 smoke :
511 name : smoke
2733 java-version : ' 17'
2834 distribution : ' temurin'
2935 - name : Build with Maven
30- 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
36+ run : mvn clean install -pl $EXCLUDE_MODULES -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn
3137 java-jdk11 :
3238 name : mvn clean install - jdk11
3339 timeout-minutes : 45
4147 java-version : ' 11'
4248 distribution : ' temurin'
4349 - name : Build with Maven
44- 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
50+ run : mvn clean install -pl $EXCLUDE_MODULES -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -Dcoverage
4551 - name : Upload to Codecov
4652 uses : codecov/codecov-action@v5
4753 with :
6066 distribution : ' temurin'
6167 - name : Build with Maven
6268 run : |
63- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
69+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
6470 mvn verify -pl :gremlin-server -DskipTests -DskipIntegrationTests=false -DincludeNeo4j
6571 gremlin-server-unified :
6672 name : gremlin-server unified
7682 distribution : ' temurin'
7783 - name : Build with Maven
7884 run : |
79- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
85+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
8086 mvn verify -pl :gremlin-server -DskipTests -DskipIntegrationTests=false -DincludeNeo4j -DtestUnified=true
8187 cache-gremlin-server-docker-image :
8288 name : cache gremlin-server docker image
@@ -129,11 +135,11 @@ jobs:
129135 - name : Build with Maven Windows
130136 if : runner.os == 'Windows'
131137 run : |
132- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -DskipImageBuild -Dci
138+ mvn clean install -pl %EXCLUDE_MODULES% -q -DskipTests -DskipImageBuild -Dci
133139 - name : Build with Maven Ubuntu
134140 if : runner.os == 'Linux'
135141 run : |
136- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
142+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
137143 mvn verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false '-Dit.test=*IntegrateTest,!SparkGryoSerializerGraphComputerProcessIntegrateTest'
138144 spark-gryo :
139145 name : spark gryo
@@ -153,11 +159,11 @@ jobs:
153159 - name : Build with Maven Windows
154160 if : runner.os == 'Windows'
155161 run : |
156- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -DskipImageBuild -Dci
162+ mvn clean install -pl %EXCLUDE_MODULES% -q -DskipTests -DskipImageBuild -Dci
157163 - name : Build with Maven Ubuntu
158164 if : runner.os == 'Linux'
159165 run : |
160- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
166+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
161167 mvn verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false -Dit.test=SparkGryoSerializerGraphComputerProcessIntegrateTest
162168 gremlin-console :
163169 name : gremlin-console
@@ -174,7 +180,7 @@ jobs:
174180 - name : Build with Maven
175181 run : |
176182 touch gremlin-python/.glv
177- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
183+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
178184 mvn verify -pl :gremlin-console -DskipTests -DskipIntegrationTests=false
179185 gremlin-driver :
180186 name : gremlin-driver
@@ -190,7 +196,7 @@ jobs:
190196 distribution : ' temurin'
191197 - name : Build with Maven
192198 run : |
193- mvn clean install -pl -:gremlin-javascript,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
199+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
194200 mvn verify -pl gremlin-driver -DskipIntegrationTests=false
195201 javascript :
196202 name : javascript
@@ -229,7 +235,8 @@ jobs:
229235 run : docker load --input gremlin-server.tar
230236 - name : Build with Maven
231237 run : |
232- mvn clean install -pl -:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests -q -DskipTests -Dci
238+ EXCLUDE="-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlin-go,-:gremlin-python,$EXCLUDE_FOR_GLV"
239+ mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
233240 mvn verify -pl :gremlin-javascript,:gremlint
234241 python :
235242 name : python
@@ -244,13 +251,14 @@ jobs:
244251 java-version : ' 11'
245252 distribution : ' temurin'
246253 - name : Set up Python 3.x
247- uses : actions/setup-python@v5
254+ uses : actions/setup-python@v6
248255 with :
249256 python-version : ' 3.9'
250257 - name : Build with Maven
251258 run : |
252259 touch gremlin-python/.glv
253- mvn clean install -pl -:gremlin-javascript,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests,-:gremlint -q -DskipTests -Dci
260+ EXCLUDE="${EXCLUDE_MODULES/,-:gremlin-python},$EXCLUDE_FOR_GLV"
261+ mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
254262 mvn verify -pl gremlin-python
255263 dotnet :
256264 name : .NET
@@ -265,7 +273,7 @@ jobs:
265273 java-version : ' 11'
266274 distribution : ' temurin'
267275 - name : Set up .NET 8.0.x
268- uses : actions/setup-dotnet@v4
276+ uses : actions/setup-dotnet@v5
269277 with :
270278 dotnet-version : ' 8.0.x'
271279 - name : Get Cached Server Base Image
@@ -283,7 +291,8 @@ jobs:
283291 run : |
284292 touch gremlin-dotnet/src/.glv
285293 touch gremlin-dotnet/test/.glv
286- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-:gremlint -q -DskipTests -Dci
294+ EXCLUDE="${EXCLUDE_MODULES/-:gremlin-dotnet-source,-:gremlin-dotnet-tests,},$EXCLUDE_FOR_GLV"
295+ mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
287296 mvn verify -pl :gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet
288297 neo4j-gremlin :
289298 name : neo4j-gremlin
@@ -299,7 +308,7 @@ jobs:
299308 distribution : ' temurin'
300309 - name : Build with Maven
301310 run : |
302- mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests -q -DskipTests -Dci
311+ mvn clean install -pl $EXCLUDE_MODULES -q -DskipTests -Dci
303312 mvn verify -pl :neo4j-gremlin -DincludeNeo4j
304313 go :
305314 name : go
@@ -328,7 +337,8 @@ jobs:
328337 working-directory : .
329338 run : |
330339 touch gremlin-go/.glv
331- mvn clean install -pl -:gremlin-python,-:gremlin-javascript,-:gremlin-dotnet,-:gremlin-dotnet-source,-:gremlin-dotnet-tests -q -DskipTests -Dci
340+ EXCLUDE="${EXCLUDE_MODULES/-:gremlin-go,},$EXCLUDE_FOR_GLV"
341+ mvn clean install -pl $EXCLUDE -q -DskipTests -Dci
332342 mvn verify -pl :gremlin-go
333343 - name : Upload to Codecov
334344 uses : codecov/codecov-action@v5
0 commit comments