Merge pull request #2888 from apache/fix-structure-array-tests #7439
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build-test | |
on: [push, pull_request] | |
jobs: | |
smoke: | |
name: smoke | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- name: Build with Maven | |
run: mvn clean install -DskipTests -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
java-jdk17: | |
name: mvn clean install - jdk17 | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
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 | |
java-jdk11: | |
name: mvn clean install - jdk11 | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
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 | |
- name: Upload to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
directory: ./gremlin-tools/gremlin-coverage/target/site | |
java-jdk8: | |
name: mvn clean install - jdk8 | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 8 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '8' | |
distribution: 'temurin' | |
- name: Build with Maven | |
run: mvn clean install -pl -:gremlin-javascript -Dci --batch-mode -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn | |
gremlin-server-default: | |
name: gremlin-server default | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
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 verify -pl :gremlin-server -DskipTests -DskipIntegrationTests=false -DincludeNeo4j | |
gremlin-server-unified: | |
name: gremlin-server unified | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
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 verify -pl :gremlin-server -DskipTests -DskipIntegrationTests=false -DincludeNeo4j -DtestUnified=true | |
cache-gremlin-server-docker-image: | |
name: cache gremlin-server docker image | |
timeout-minutes: 10 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- name: Generate Gremlin Server Base | |
working-directory: . | |
run: | | |
mvn clean install -pl gremlin-server -DskipTests -DskipIntegrationTests=true -Dci -am | |
- name: Save Docker image | |
working-directory: ./gremlin-server | |
run: docker save --output gremlin-server.tar tinkerpop/gremlin-server | |
- uses: actions/cache@v4 | |
id: gremlin-server-test-docker-image | |
with: | |
path: | | |
./gremlin-server/* | |
~/.m2/repository/org/apache/tinkerpop/* | |
key: ${{ github.sha }} | |
# Disabled until Linux containers are supported on Windows runners: https://github.com/actions/virtual-environments/issues/252 | |
# - name: Upload Docker image for Windows | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: ${{ github.sha }} | |
# path: ./gremlin-server/gremlin-server.tar | |
# retention-days: 1 | |
spark-core: | |
name: spark core | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- 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 | |
- 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 verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false '-Dit.test=*IntegrateTest,!SparkGryoSerializerGraphComputerProcessIntegrateTest' | |
spark-gryo: | |
name: spark gryo | |
timeout-minutes: 45 | |
needs: smoke | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- 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 | |
- 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 verify -pl :spark-gremlin -DskipTests -DskipIntegrationTests=false -Dit.test=SparkGryoSerializerGraphComputerProcessIntegrateTest | |
gremlin-console: | |
name: gremlin-console | |
timeout-minutes: 20 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- 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 verify -pl :gremlin-console -DskipTests -DskipIntegrationTests=false | |
gremlin-driver: | |
name: gremlin-driver | |
timeout-minutes: 20 | |
needs: cache-gremlin-server-docker-image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
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 verify -pl gremlin-driver -DskipIntegrationTests=false | |
javascript: | |
name: javascript | |
timeout-minutes: 15 | |
needs: cache-gremlin-server-docker-image | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# Windows Disabled until Linux containers are supported on Windows runners: https://github.com/actions/virtual-environments/issues/252 | |
# os: [ubuntu-latest, windows-latest] | |
os: [ubuntu-latest] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- name: Get Cached Server Base Image | |
if: matrix.os == 'ubuntu-latest' | |
uses: actions/cache@v4 | |
id: gremlin-server-test-docker-image | |
with: | |
path: | | |
./gremlin-server/* | |
~/.m2/repository/org/apache/tinkerpop/* | |
key: ${{ github.sha }} | |
# - name: Download Server Base Image | |
# if: matrix.os == 'windows-latest' | |
# uses: actions/download-artifact@v3 | |
# with: | |
# name: ${{ github.sha }} | |
# path: ./gremlin-server | |
- name: Load Docker Image | |
working-directory: ./gremlin-server | |
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 | |
mvn verify -pl :gremlin-javascript,:gremlint | |
python: | |
name: python | |
timeout-minutes: 20 | |
needs: cache-gremlin-server-docker-image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- name: Set up Python 3.x | |
uses: actions/setup-python@v5 | |
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 | |
mvn verify -pl gremlin-python | |
dotnet: | |
name: .NET | |
timeout-minutes: 20 | |
needs: cache-gremlin-server-docker-image | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'temurin' | |
- name: Set up .NET 8.0.x | |
uses: actions/setup-dotnet@v4 | |
with: | |
dotnet-version: '8.0.x' | |
- name: Get Cached Server Base Image | |
uses: actions/cache@v4 | |
id: gremlin-server-test-docker-image | |
with: | |
path: | | |
./gremlin-server/* | |
~/.m2/repository/org/apache/tinkerpop/* | |
key: ${{ github.sha }} | |
- name: Load Docker Image | |
working-directory: ./gremlin-server | |
run: docker load --input gremlin-server.tar | |
- name: Build with Maven | |
run: | | |
touch gremlin-dotnet/src/.glv | |
touch gremlin-dotnet/test/.glv | |
mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-:gremlint -q -DskipTests -Dci | |
mvn verify -pl :gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet | |
neo4j-gremlin: | |
name: neo4j-gremlin | |
timeout-minutes: 20 | |
needs: smoke | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK11 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
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 verify -pl :neo4j-gremlin -DincludeNeo4j | |
go: | |
name: go | |
timeout-minutes: 20 | |
needs: cache-gremlin-server-docker-image | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22' | |
- name: Get Cached Server Base Image | |
uses: actions/cache@v4 | |
id: gremlin-server-test-docker-image | |
with: | |
path: | | |
./gremlin-server/* | |
~/.m2/repository/org/apache/tinkerpop/* | |
key: ${{ github.sha }} | |
- name: Load Docker Image | |
working-directory: ./gremlin-server | |
run: docker load --input gremlin-server.tar | |
- name: Build with Maven | |
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 | |
mvn verify -pl :gremlin-go | |
- name: Upload to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
working-directory: ./gremlin-go | |
- name: Go-Vet | |
working-directory: ./gremlin-go | |
run: go vet ./... |