From ad3ecadd7514c95916455f439dc1524601a8853a Mon Sep 17 00:00:00 2001 From: William Cheng Date: Mon, 26 Apr 2021 22:08:49 +0800 Subject: [PATCH] Move ensure up-to-date script to drone.io (#9339) * move ensure up-to-date to drone.io * fix tests * Revert "fix tests" This reverts commit ea5efd3b3b45e7e7720b2aa893403aed8a458d9f. * skip 2.0 tests * use mvnw * fail fast * fix meta-codegen * test java 11 first --- CI/.drone.yml | 34 +++++++++---------- CI/circle_parallel.sh | 3 +- bin/meta-codegen.sh | 8 +++-- bin/utils/test-fake-petstore-for-all.sh | 19 ++++++----- .../src/org/openapitools/api/PetApi.sample | 4 +-- .../src/org/openapitools/api/StoreApi.sample | 2 +- .../src/org/openapitools/api/UserApi.sample | 8 ++--- 7 files changed, 40 insertions(+), 38 deletions(-) diff --git a/CI/.drone.yml b/CI/.drone.yml index 49495e43094..037fb654724 100644 --- a/CI/.drone.yml +++ b/CI/.drone.yml @@ -2,6 +2,22 @@ kind: pipeline name: default steps: +# test Java 11 HTTP client +- name: java11-test + image: openjdk:11.0 + commands: + - ./mvnw --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error + - ./mvnw --quiet verify -Psamples.droneio -Dorg.slf4j.simpleLogger.defaultLogLevel=error + # run ensure up-to-date + - /bin/bash bin/utils/ensure-up-to-date + # test java native client + - ./mvnw clean test -f samples/client/petstore/java/native/pom.xml + - ./mvnw clean test -f samples/client/petstore/java/native-async/pom.xml + - ./mvnw clean test -f samples/openapi3/client/petstore/java/native/pom.xml + # test all generators with fake petstore spec (2.0, 3.0) + - /bin/bash bin/utils/test-fake-petstore-for-all.sh + # generate test scripts + - /bin/bash bin/tests/run-all-test # test nim client - name: nim-client-test image: nimlang/nim @@ -38,21 +54,3 @@ steps: image: haskell:8.6.5 commands: - (cd samples/client/petstore/haskell-http-client/ && stack --install-ghc --no-haddock-deps haddock --fast && stack test --fast) -# test Java 11 HTTP client -- name: java11-test - image: openjdk:11.0 - commands: - - ./mvnw --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error - - ./mvnw --quiet verify -Psamples.droneio -Dorg.slf4j.simpleLogger.defaultLogLevel=error - # test java native client - - ./mvnw clean test -f samples/client/petstore/java/native/pom.xml - - ./mvnw clean test -f samples/client/petstore/java/native-async/pom.xml - - ./mvnw clean test -f samples/openapi3/client/petstore/java/native/pom.xml - # test all generators with fake petstore spec (2.0, 3.0) - - /bin/bash bin/utils/test-fake-petstore-for-all.sh - # generate test scripts - - /bin/bash bin/tests/run-all-test - # generate all petstore samples (client, servers, doc) - - /bin/bash bin/generate-samples.sh - # generate all petstore samples (openapi3) - - /bin/bash bin/generate-samples.sh bin/configs/other/*.yaml diff --git a/CI/circle_parallel.sh b/CI/circle_parallel.sh index e66f5524256..b647131c7d7 100755 --- a/CI/circle_parallel.sh +++ b/CI/circle_parallel.sh @@ -47,7 +47,8 @@ elif [ "$NODE_INDEX" = "2" ]; then git checkout -- . # look for outdated samples - ./bin/utils/ensure-up-to-date + #./bin/utils/ensure-up-to-date + # UPDATE: moved to drone.io fi echo "Running node $NODE_INDEX to test haskell" # install haskell diff --git a/bin/meta-codegen.sh b/bin/meta-codegen.sh index d2a05a0fe6a..5b90f6abc8c 100755 --- a/bin/meta-codegen.sh +++ b/bin/meta-codegen.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash +set -e + SCRIPT="$0" echo "# START SCRIPT: $SCRIPT" @@ -18,8 +20,8 @@ ags="meta -n myClientCodegen -t DOCUMENTATION -p com.my.company.codegen -o sampl java $JAVA_OPTS -jar $executable $ags -(cd "$root"/samples/meta-codegen/ && mvn -B package -Djacoco.skip=true -DskipTests=true -f pom.xml) +(./mvnw -B package -Djacoco.skip=true -DskipTests=true -f "$root"/samples/meta-codegen/pom.xml) -ags2="generate -g myClientCodegen -i modules/openapi-generator/src/test/resources/2_0/petstore.json -o samples/meta-codegen/usage $@" +ags2="generate -g myClientCodegen -i modules/openapi-generator/src/test/resources/3_0/petstore.json -o samples/meta-codegen/usage $@" -java $JAVA_OPTS -cp ${root}/samples/meta-codegen/lib/target/myClientCodegen-openapi-generator-1.0.0.jar:$executable org.openapitools.codegen.OpenAPIGenerator $ags2 \ No newline at end of file +java $JAVA_OPTS -cp ${root}/samples/meta-codegen/lib/target/myClientCodegen-openapi-generator-1.0.0.jar:$executable org.openapitools.codegen.OpenAPIGenerator $ags2 diff --git a/bin/utils/test-fake-petstore-for-all.sh b/bin/utils/test-fake-petstore-for-all.sh index 6be320d6b99..1ec62890c3b 100755 --- a/bin/utils/test-fake-petstore-for-all.sh +++ b/bin/utils/test-fake-petstore-for-all.sh @@ -11,15 +11,16 @@ logfile="/tmp/generator-fake-petstore-output.log" for GENERATOR in $(java -jar ${executable} list --short | sed -e 's/,/\'$'\n''/g') do - if eval java -jar ${executable} generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ${GENERATOR} -o /tmp/openapi-generator-test-fake-petstore/2.0/${GENERATOR} > ${logfile} 2>&1; then - echo "[OAS 2.0] Executed ${GENERATOR} successfully!" - else - echo "ERROR: Failed to run '${GENERATOR}' generator. The command was:" - echo "java -jar ${executable} generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ${GENERATOR} -o /tmp/openapi-generator-test-fake-petstore/2.0/${GENERATOR}" - echo "ERROR: The output of the command was:" - cat ${logfile} - exit 1 - fi + # no longer test 2.0 spec as we migrated to 3.0 spec + #if eval java -jar ${executable} generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ${GENERATOR} -o /tmp/openapi-generator-test-fake-petstore/2.0/${GENERATOR} > ${logfile} 2>&1; then + # echo "[OAS 2.0] Executed ${GENERATOR} successfully!" + #else + # echo "ERROR: Failed to run '${GENERATOR}' generator. The command was:" + # echo "java -jar ${executable} generate -i modules/openapi-generator/src/test/resources/2_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ${GENERATOR} -o /tmp/openapi-generator-test-fake-petstore/2.0/${GENERATOR}" + # echo "ERROR: The output of the command was:" + # cat ${logfile} + # exit 1 + #fi if eval java -jar ${executable} generate -i modules/openapi-generator/src/test/resources/3_0/petstore-with-fake-endpoints-models-for-testing.yaml -g ${GENERATOR} -o /tmp/openapi-generator-test-fake-petstore/3.0/${GENERATOR} > ${logfile} 2>&1; then echo "[OAS 3.0] Executed ${GENERATOR} successfully!" diff --git a/samples/meta-codegen/usage/src/org/openapitools/api/PetApi.sample b/samples/meta-codegen/usage/src/org/openapitools/api/PetApi.sample index e75a6149341..7b8b9c754d9 100644 --- a/samples/meta-codegen/usage/src/org/openapitools/api/PetApi.sample +++ b/samples/meta-codegen/usage/src/org/openapitools/api/PetApi.sample @@ -16,7 +16,7 @@ classname: PetApi operationId: addPet # and parameters: -body: Pet +pet: Pet # each operation has an `operationId`: @@ -52,7 +52,7 @@ petId: Long operationId: updatePet # and parameters: -body: Pet +pet: Pet # each operation has an `operationId`: diff --git a/samples/meta-codegen/usage/src/org/openapitools/api/StoreApi.sample b/samples/meta-codegen/usage/src/org/openapitools/api/StoreApi.sample index 298e7edbb0f..d66c28e8576 100644 --- a/samples/meta-codegen/usage/src/org/openapitools/api/StoreApi.sample +++ b/samples/meta-codegen/usage/src/org/openapitools/api/StoreApi.sample @@ -36,7 +36,7 @@ orderId: String operationId: placeOrder # and parameters: -body: Order +order: Order # end of operations block diff --git a/samples/meta-codegen/usage/src/org/openapitools/api/UserApi.sample b/samples/meta-codegen/usage/src/org/openapitools/api/UserApi.sample index ebc744ed975..b3b05217530 100644 --- a/samples/meta-codegen/usage/src/org/openapitools/api/UserApi.sample +++ b/samples/meta-codegen/usage/src/org/openapitools/api/UserApi.sample @@ -16,21 +16,21 @@ classname: UserApi operationId: createUser # and parameters: -body: User +user: User # each operation has an `operationId`: operationId: createUsersWithArrayInput # and parameters: -body: List +user: List # each operation has an `operationId`: operationId: createUsersWithListInput # and parameters: -body: List +user: List # each operation has an `operationId`: @@ -66,7 +66,7 @@ operationId: updateUser # and parameters: username: String -body: User +user: User # end of operations block