From 7943c616791b97395ad6f291d3433272e775a925 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Wed, 24 Aug 2022 17:05:31 -0700 Subject: [PATCH 1/7] Init --- .github/workflows/build-test.yml | 4 + gremlin-dotnet/Gremlin.Net.sln | 2 +- .../CompressionBenchmarks.cs | 138 +++++++++--------- .../MessageSerializerBenchmarks.cs | 2 +- .../Program.cs | 2 +- .../TestMessages.cs | 2 +- .../Gremlin.Net.IntegrationTest.csproj | 8 + ...remlin.Net.Template.IntegrationTest.csproj | 8 + .../appSettings.json | 5 + .../Gremlin.Net.UnitTest.csproj | 8 + gremlin-dotnet/test/pom.xml | 48 +++--- 11 files changed, 132 insertions(+), 95 deletions(-) rename gremlin-dotnet/test/{Gremlin.Net.Benchmarks => Gremlin.Net.BenchmarkTests}/CompressionBenchmarks.cs (96%) rename gremlin-dotnet/test/{Gremlin.Net.Benchmarks => Gremlin.Net.BenchmarkTests}/MessageSerializerBenchmarks.cs (99%) rename gremlin-dotnet/test/{Gremlin.Net.Benchmarks => Gremlin.Net.BenchmarkTests}/Program.cs (97%) rename gremlin-dotnet/test/{Gremlin.Net.Benchmarks => Gremlin.Net.BenchmarkTests}/TestMessages.cs (99%) create mode 100644 gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/appSettings.json diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index 8ac425d524d..fb7d24856bb 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -208,6 +208,10 @@ jobs: 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 -DincludeNeo4j + - name: Upload to Codecov + uses: codecov/codecov-action@v3 + with: + working-directory: ./gremlin-dotnet/test neo4j-gremlin: name: neo4j-gremlin timeout-minutes: 20 diff --git a/gremlin-dotnet/Gremlin.Net.sln b/gremlin-dotnet/Gremlin.Net.sln index 8816c761a7a..018ae20cbb1 100644 --- a/gremlin-dotnet/Gremlin.Net.sln +++ b/gremlin-dotnet/Gremlin.Net.sln @@ -19,7 +19,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gremlin.Net.Template", "src EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Gremlin.Net.Template.IntegrationTest", "test\Gremlin.Net.Template.IntegrationTest\Gremlin.Net.Template.IntegrationTest.csproj", "{3BFC3559-E317-4327-AFB7-CFBB31E1C868}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gremlin.Net.Benchmarks", "test\Gremlin.Net.Benchmarks\Gremlin.Net.Benchmarks.csproj", "{7250A8B5-B962-49AB-B295-F75F8D4DBD78}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gremlin.Net.BenchmarkTests", "test\Gremlin.Net.BenchmarkTests\Gremlin.Net.BenchmarkTests.csproj", "{7250A8B5-B962-49AB-B295-F75F8D4DBD78}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/CompressionBenchmarks.cs b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/CompressionBenchmarks.cs similarity index 96% rename from gremlin-dotnet/test/Gremlin.Net.Benchmarks/CompressionBenchmarks.cs rename to gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/CompressionBenchmarks.cs index ae933bfd67d..7097922da2f 100644 --- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/CompressionBenchmarks.cs +++ b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/CompressionBenchmarks.cs @@ -1,70 +1,70 @@ -#region License - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -#endregion - -using System.Threading.Tasks; -using Gremlin.Net.Driver; -using Gremlin.Net.Driver.Remote; -using Gremlin.Net.Structure.IO.GraphBinary; -using Gremlin.Net.Structure.IO.GraphSON; -using static Gremlin.Net.Process.Traversal.AnonymousTraversalSource; -using static Gremlin.Net.Process.Traversal.__; - -namespace Gremlin.Net.Benchmarks; - -public class CompressionBenchmarks -{ - public static async Task GraphSONWithoutCompression() - { - var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphSON3MessageSerializer(), - disableCompression: true); - await PerformBenchmarkWithClient(client); - } - - public static async Task GraphSONWithCompression() - { - var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphSON3MessageSerializer()); - await PerformBenchmarkWithClient(client); - } - - public static async Task GraphBinaryWithoutCompression() - { - var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphBinaryMessageSerializer(), - disableCompression: true); - await PerformBenchmarkWithClient(client); - } - - public static async Task GraphBinaryWithCompression() - { - var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphBinaryMessageSerializer()); - await PerformBenchmarkWithClient(client); - } - - private static async Task PerformBenchmarkWithClient(GremlinClient client) - { - var g = Traversal().WithRemote(new DriverRemoteConnection(client)); - for (var i = 0; i < 5; i++) - { - await g.V().Repeat(Both()).Times(10).Emit().Fold().Promise(t => t.ToList()); - } - } +#region License + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +#endregion + +using System.Threading.Tasks; +using Gremlin.Net.Driver; +using Gremlin.Net.Driver.Remote; +using Gremlin.Net.Structure.IO.GraphBinary; +using Gremlin.Net.Structure.IO.GraphSON; +using static Gremlin.Net.Process.Traversal.AnonymousTraversalSource; +using static Gremlin.Net.Process.Traversal.__; + +namespace Gremlin.Net.BenchmarkTests; + +public class CompressionBenchmarks +{ + public static async Task GraphSONWithoutCompression() + { + var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphSON3MessageSerializer(), + disableCompression: true); + await PerformBenchmarkWithClient(client); + } + + public static async Task GraphSONWithCompression() + { + var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphSON3MessageSerializer()); + await PerformBenchmarkWithClient(client); + } + + public static async Task GraphBinaryWithoutCompression() + { + var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphBinaryMessageSerializer(), + disableCompression: true); + await PerformBenchmarkWithClient(client); + } + + public static async Task GraphBinaryWithCompression() + { + var client = new GremlinClient(new GremlinServer("localhost", 45940), new GraphBinaryMessageSerializer()); + await PerformBenchmarkWithClient(client); + } + + private static async Task PerformBenchmarkWithClient(GremlinClient client) + { + var g = Traversal().WithRemote(new DriverRemoteConnection(client)); + for (var i = 0; i < 5; i++) + { + await g.V().Repeat(Both()).Times(10).Emit().Fold().Promise(t => t.ToList()); + } + } } \ No newline at end of file diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/MessageSerializerBenchmarks.cs similarity index 99% rename from gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs rename to gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/MessageSerializerBenchmarks.cs index 500929acfba..73a148db179 100644 --- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/MessageSerializerBenchmarks.cs +++ b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/MessageSerializerBenchmarks.cs @@ -34,7 +34,7 @@ using static Gremlin.Net.Process.Traversal.__; using static Gremlin.Net.Process.Traversal.P; -namespace Gremlin.Net.Benchmarks +namespace Gremlin.Net.BenchmarkTests { [MemoryDiagnoser] public class MessageSerializerBenchmarks diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Program.cs b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/Program.cs similarity index 97% rename from gremlin-dotnet/test/Gremlin.Net.Benchmarks/Program.cs rename to gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/Program.cs index 73ce83af901..3162cdff791 100644 --- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Program.cs +++ b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/Program.cs @@ -26,7 +26,7 @@ using System.Threading.Tasks; using BenchmarkDotNet.Running; -namespace Gremlin.Net.Benchmarks +namespace Gremlin.Net.BenchmarkTests { public static class Program { diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/TestMessages.cs b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/TestMessages.cs similarity index 99% rename from gremlin-dotnet/test/Gremlin.Net.Benchmarks/TestMessages.cs rename to gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/TestMessages.cs index 68a1d2d932b..6da22fadd62 100644 --- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/TestMessages.cs +++ b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/TestMessages.cs @@ -21,7 +21,7 @@ #endregion -namespace Gremlin.Net.Benchmarks +namespace Gremlin.Net.BenchmarkTests { public class TestMessages { diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj index a2956c573b6..981a2440762 100644 --- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj +++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gremlin.Net.IntegrationTest.csproj @@ -11,6 +11,14 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj index ff066a902dd..e7b08ca987c 100644 --- a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj +++ b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/Gremlin.Net.Template.IntegrationTest.csproj @@ -5,6 +5,14 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/appSettings.json b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/appSettings.json new file mode 100644 index 00000000000..55f01082c2c --- /dev/null +++ b/gremlin-dotnet/test/Gremlin.Net.Template.IntegrationTest/appSettings.json @@ -0,0 +1,5 @@ +{ + "TestServerIpAddress": "localhost", + "TestServerPort": 45940, + "TestSecureServerPort": 45941 +} \ No newline at end of file diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj index ec120fbce92..b1fe1767871 100644 --- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj +++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Gremlin.Net.UnitTest.csproj @@ -12,6 +12,14 @@ + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml index 1991368e68e..767f7434b0a 100644 --- a/gremlin-dotnet/test/pom.xml +++ b/gremlin-dotnet/test/pom.xml @@ -88,25 +88,19 @@ limitations under the License. ${project.artifactId}-${project.version} - org.apache.maven.plugins - maven-surefire-plugin - - - org.eobjects.build - dotnet-maven-plugin - true + exec-maven-plugin + org.codehaus.mojo + 1.2.1 - ${skipTests} - - - false - + dotnet + ./.. + + test + ./Gremlin.Net.sln + /p:CollectCoverage=true + /p:CoverletOutputFormat=opencover + /p:Exclude="[*Tests?]*" + @@ -245,12 +239,22 @@ limitations under the License. - org.eobjects.build - dotnet-maven-plugin + exec-maven-plugin + org.codehaus.mojo + 1.2.1 - + dotnet + ../ + + test + ./Gremlin.Net.sln + /p:CollectCoverage=true + /p:CoverletOutputFormat=opencover + /p:Exclude="[*Tests?]*" + + true - + From ed96240cc084f7d343c04ba710b72b3f8bf831e7 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Wed, 24 Aug 2022 17:06:34 -0700 Subject: [PATCH 2/7] Init --- .../Gremlin.Net.BenchmarkTests.csproj} | 1 + 1 file changed, 1 insertion(+) rename gremlin-dotnet/test/{Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj => Gremlin.Net.BenchmarkTests/Gremlin.Net.BenchmarkTests.csproj} (86%) diff --git a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/Gremlin.Net.BenchmarkTests.csproj similarity index 86% rename from gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj rename to gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/Gremlin.Net.BenchmarkTests.csproj index d886eb74baa..e6952a74b69 100644 --- a/gremlin-dotnet/test/Gremlin.Net.Benchmarks/Gremlin.Net.Benchmarks.csproj +++ b/gremlin-dotnet/test/Gremlin.Net.BenchmarkTests/Gremlin.Net.BenchmarkTests.csproj @@ -3,6 +3,7 @@ Exe net6.0 + Gremlin.Net.Benchmarks From 372a5184035c9b93d25cc1c6b597e779dcc717d4 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Wed, 24 Aug 2022 17:18:43 -0700 Subject: [PATCH 3/7] fix pom --- gremlin-dotnet/test/pom.xml | 68 +++++++++++++++++++++++-------------- 1 file changed, 43 insertions(+), 25 deletions(-) diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml index 767f7434b0a..899a0f55cb2 100644 --- a/gremlin-dotnet/test/pom.xml +++ b/gremlin-dotnet/test/pom.xml @@ -91,17 +91,26 @@ limitations under the License. exec-maven-plugin org.codehaus.mojo 1.2.1 - - dotnet - ./.. - - test - ./Gremlin.Net.sln - /p:CollectCoverage=true - /p:CoverletOutputFormat=opencover - /p:Exclude="[*Tests?]*" - - + + + run-tests + integration-test + + exec + + + dotnet + ./.. + + test + ./Gremlin.Net.sln + /p:CollectCoverage=true + /p:CoverletOutputFormat=opencover + /p:Exclude="[*Tests?]*" + + + + org.codehaus.gmavenplus @@ -242,20 +251,29 @@ limitations under the License. exec-maven-plugin org.codehaus.mojo 1.2.1 - - dotnet - ../ - - test - ./Gremlin.Net.sln - /p:CollectCoverage=true - /p:CoverletOutputFormat=opencover - /p:Exclude="[*Tests?]*" - - - true - - + + + run-tests + integration-test + + exec + + + dotnet + ../ + + test + ./Gremlin.Net.sln + /p:CollectCoverage=true + /p:CoverletOutputFormat=opencover + /p:Exclude="[*Tests?]*" + + + true + + + + org.codehaus.gmavenplus From a525c06af4c24c8553abf42e96585d0938a19976 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Wed, 24 Aug 2022 17:20:37 -0700 Subject: [PATCH 4/7] Comment workflows --- .github/workflows/build-test.yml | 426 +++++++++++++++---------------- 1 file changed, 213 insertions(+), 213 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index fb7d24856bb..dc79aba0cb9 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -14,175 +14,175 @@ jobs: 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-jdk11: - name: mvn clean install - jdk11 - timeout-minutes: 45 - needs: smoke - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - 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 - java-jdk8: - name: mvn clean install - jdk8 - timeout-minutes: 45 - needs: smoke - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 8 - uses: actions/setup-java@v3 - 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@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - 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@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - 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 - 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@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - 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@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - 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@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - 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-console -DskipTests -DskipIntegrationTests=false - javascript: - name: javascript - timeout-minutes: 15 - needs: smoke - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: [ubuntu-latest, windows-latest] - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - distribution: 'temurin' - - 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 -DincludeNeo4j - python: - name: python - timeout-minutes: 20 - needs: smoke - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 - with: - java-version: '11' - distribution: 'temurin' - - name: Set up Python 3.x - uses: actions/setup-python@v4 - with: - python-version: '3.8' - - name: Setup Python requirements - run: | - sudo apt install gcc libkrb5-dev - python3 -m pip install --upgrade pip - pip install virtualenv - - 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 -DincludeNeo4j +# java-jdk11: +# name: mvn clean install - jdk11 +# timeout-minutes: 45 +# needs: smoke +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# with: +# java-version: '11' +# 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 +# java-jdk8: +# name: mvn clean install - jdk8 +# timeout-minutes: 45 +# needs: smoke +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Set up JDK 8 +# uses: actions/setup-java@v3 +# 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@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# 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@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# 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 +# 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@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# 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@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# 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@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# 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-console -DskipTests -DskipIntegrationTests=false +# javascript: +# name: javascript +# timeout-minutes: 15 +# needs: smoke +# runs-on: ${{ matrix.os }} +# strategy: +# matrix: +# os: [ubuntu-latest, windows-latest] +# steps: +# - uses: actions/checkout@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# with: +# java-version: '11' +# distribution: 'temurin' +# - 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 -DincludeNeo4j +# python: +# name: python +# timeout-minutes: 20 +# needs: smoke +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Set up JDK 11 +# uses: actions/setup-java@v3 +# with: +# java-version: '11' +# distribution: 'temurin' +# - name: Set up Python 3.x +# uses: actions/setup-python@v4 +# with: +# python-version: '3.8' +# - name: Setup Python requirements +# run: | +# sudo apt install gcc libkrb5-dev +# python3 -m pip install --upgrade pip +# pip install virtualenv +# - 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 -DincludeNeo4j dotnet: name: .NET timeout-minutes: 20 @@ -212,47 +212,47 @@ jobs: uses: codecov/codecov-action@v3 with: working-directory: ./gremlin-dotnet/test - neo4j-gremlin: - name: neo4j-gremlin - timeout-minutes: 20 - needs: smoke - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up JDK11 - uses: actions/setup-java@v3 - 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: smoke - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Go - uses: actions/setup-go@v3 - with: - go-version: '1.17' - - name: Generate Gremlin Server Base Image - working-directory: . - run: | - mvn clean install -pl gremlin-server -DskipTests -DskipIntegrationTests=true -Dci -am - - name: Build with Maven - working-directory: . - run: | - touch gremlin-go/.glv - mvn verify -pl :gremlin-go - - name: Upload to Codecov - uses: codecov/codecov-action@v3 - with: - working-directory: ./gremlin-go - - name: Go-Vet - working-directory: ./gremlin-go - run: go vet ./... +# neo4j-gremlin: +# name: neo4j-gremlin +# timeout-minutes: 20 +# needs: smoke +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - name: Set up JDK11 +# uses: actions/setup-java@v3 +# 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: smoke +# runs-on: ubuntu-latest +# steps: +# - name: Checkout +# uses: actions/checkout@v3 +# - name: Setup Go +# uses: actions/setup-go@v3 +# with: +# go-version: '1.17' +# - name: Generate Gremlin Server Base Image +# working-directory: . +# run: | +# mvn clean install -pl gremlin-server -DskipTests -DskipIntegrationTests=true -Dci -am +# - name: Build with Maven +# working-directory: . +# run: | +# touch gremlin-go/.glv +# mvn verify -pl :gremlin-go +# - name: Upload to Codecov +# uses: codecov/codecov-action@v3 +# with: +# working-directory: ./gremlin-go +# - name: Go-Vet +# working-directory: ./gremlin-go +# run: go vet ./... From 33912371630ffc3ce190c406709cc03c2ab1f963 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Thu, 25 Aug 2022 09:08:23 -0700 Subject: [PATCH 5/7] restructure POM and build test change --- .github/workflows/build-test.yml | 2 +- gremlin-dotnet/test/pom.xml | 56 +++++++++++++++++--------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml index dc79aba0cb9..d2b1f74aa11 100644 --- a/.github/workflows/build-test.yml +++ b/.github/workflows/build-test.yml @@ -206,7 +206,7 @@ jobs: run: | touch gremlin-dotnet/src/.glv touch gremlin-dotnet/test/.glv - mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-:gremlint -q -DskipTests -Dci + mvn clean install -pl -:gremlin-javascript,-:gremlin-python,-:gremlint,-:gremlin-go -q -DskipTests -Dci mvn verify -pl :gremlin-dotnet,:gremlin-dotnet-tests -P gremlin-dotnet -DincludeNeo4j - name: Upload to Codecov uses: codecov/codecov-action@v3 diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml index 899a0f55cb2..062a9a7b045 100644 --- a/gremlin-dotnet/test/pom.xml +++ b/gremlin-dotnet/test/pom.xml @@ -87,31 +87,6 @@ limitations under the License. ${basedir}/target ${project.artifactId}-${project.version} - - exec-maven-plugin - org.codehaus.mojo - 1.2.1 - - - run-tests - integration-test - - exec - - - dotnet - ./.. - - test - ./Gremlin.Net.sln - /p:CollectCoverage=true - /p:CoverletOutputFormat=opencover - /p:Exclude="[*Tests?]*" - - - - - org.codehaus.gmavenplus gmavenplus-plugin @@ -226,6 +201,35 @@ limitations under the License. + + exec-maven-plugin + org.codehaus.mojo + 1.2.1 + + + run-tests + integration-test + + exec + + + ${skipTests} + + false + + dotnet + ./.. + + test + ./Gremlin.Net.sln + /p:CollectCoverage=true + /p:CoverletOutputFormat=opencover + /p:Exclude="[*Tests?]*" + + + + + @@ -260,7 +264,7 @@ limitations under the License. dotnet - ../ + ./.. test ./Gremlin.Net.sln From fda9e28a222a51b4cf22850969581e454e238167 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Thu, 25 Aug 2022 09:38:40 -0700 Subject: [PATCH 6/7] skip add --- gremlin-dotnet/test/pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/gremlin-dotnet/test/pom.xml b/gremlin-dotnet/test/pom.xml index 062a9a7b045..417b75e25da 100644 --- a/gremlin-dotnet/test/pom.xml +++ b/gremlin-dotnet/test/pom.xml @@ -263,6 +263,7 @@ limitations under the License. exec + ${skipTests} dotnet ./.. From 33ad43f9be78df53c1fa1623c1ecafa63b6d8c19 Mon Sep 17 00:00:00 2001 From: Rithin Kumar Date: Thu, 25 Aug 2022 17:39:29 -0700 Subject: [PATCH 7/7] Fixes? --- gremlin-dotnet/pom.xml | 18 ++++++++---------- gremlin-dotnet/test/pom.xml | 10 ---------- 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/gremlin-dotnet/pom.xml b/gremlin-dotnet/pom.xml index 893958cca74..70ad8d4eda9 100644 --- a/gremlin-dotnet/pom.xml +++ b/gremlin-dotnet/pom.xml @@ -26,6 +26,11 @@ limitations under the License. gremlin-dotnet Apache TinkerPop :: Gremlin.Net pom + + + false + ${maven.test.skip} + src @@ -58,6 +63,9 @@ limitations under the License. org.eobjects.build dotnet-maven-plugin true + + ${skipTests} +