From fd220147ae549d40eb08bc046b7e5813a21538ab Mon Sep 17 00:00:00 2001 From: William Cheng Date: Sun, 12 Nov 2017 21:50:11 +0800 Subject: [PATCH] Switch Travis image from MacOS to Linux (#6937) * remove jdk7 check * comment out some installation * update npm * comment out ts angular tests * restore ts angular2 test * restore bash test * add back new config, clean up commented items --- .travis.yml | 106 +++++++++++++++++++++------------------------------- pom.xml | 19 +--------- 2 files changed, 44 insertions(+), 81 deletions(-) diff --git a/.travis.yml b/.travis.yml index 47b483c7030..f396f23ccd4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,33 +1,32 @@ sudo: required -language: objective-c -osx_image: xcode8.2 +language: java +jdk: + - oraclejdk8 + cache: directories: - $HOME/.m2 - $HOME/.ivy2 - $HOME/.gradle/caches/ - $HOME/.gradle/wrapper/ - - $HOME/.stack - $HOME/samples/client/petstore/php/SwaggerClient-php/vendor - $HOME/samples/client/petstore/ruby/venodr/bundle - $HOME/samples/client/petstore/python/.venv/ - # - $HOME/samples/client/petstore/typescript-node/npm/node_modules - # - $HOME/samples/client/petstore/typescript-node/npm/typings/ - # - $HOME/samples/client/petstore/typescript-fetch/tests/default/node_modules - # - $HOME/samples/client/petstore/typescript-fetch/tests/default/typings - # - $HOME/samples/client/petstore/typescript-fetch/builds/default/node_modules - # - $HOME/samples/client/petstore/typescript-fetch/builds/default/typings - # - $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/node_modules - # - $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/typings - # - $HOME/samples/client/petstore/typescript-fetch/builds/with-npm-version/node_modules - # - $HOME/samples/client/petstore/typescript-fetch/npm/with-npm-version/typings - # - $HOME/samples/client/petstore/typescript-angularjs/node_modules - # - $HOME/samples/client/petstore/typescript-angularjs/typings - - $HOME/.cocoapods/repos/master - timeout: 1000 -# note: docker is not yet supported in iOS build -#services: -# - docker + - $HOME/samples/client/petstore/typescript-node/npm/node_modules + - $HOME/samples/client/petstore/typescript-node/npm/typings/ + - $HOME/samples/client/petstore/typescript-fetch/tests/default/node_modules + - $HOME/samples/client/petstore/typescript-fetch/tests/default/typings + - $HOME/samples/client/petstore/typescript-fetch/builds/default/node_modules + - $HOME/samples/client/petstore/typescript-fetch/builds/default/typings + - $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/node_modules + - $HOME/samples/client/petstore/typescript-fetch/builds/es6-target/typings + - $HOME/samples/client/petstore/typescript-fetch/builds/with-npm-version/node_modules + - $HOME/samples/client/petstore/typescript-fetch/npm/with-npm-version/typings + - $HOME/samples/client/petstore/typescript-angular/node_modules + - $HOME/samples/client/petstore/typescript-angular/typings + +services: + - docker # comment out the host table change to use the public petstore server addons: @@ -35,60 +34,38 @@ addons: - petstore.swagger.io before_install: - - export SW=`pwd` - - rvm list - - rvm use 2.2.5 - - gem environment - - gem install bundler -N --no-ri --no-rdoc - - gem install cocoapods -v 1.2.1 -N --no-ri --no-rdoc - - gem install xcpretty -N --no-ri --no-rdoc - - pod --version - # comment out below to avoid errors - #- pod repo update - - pod setup --silent > /dev/null + # required when sudo: required for the Ruby petstore tests + - gem install bundler - npm install -g typescript + - npm install -g npm - npm config set registry http://registry.npmjs.org/ - - brew install sbt - - brew install leiningen - - brew install bats - - brew install curl - - brew install python3 - - pip install virtualenv - - mkdir -p ~/.local/bin - - export PATH=$HOME/.local/bin:$PATH - - travis_retry curl --insecure -L https://www.stackage.org/stack/osx-x86_64 | tar xz --strip-components=1 --include '*/stack' -C ~/.local/bin - # start local petstore server - - git clone -b docker --single-branch https://github.com/wing328/swagger-samples - - cd swagger-samples/java/java-jersey-jaxrs - - sudo mvn jetty:run & - - cd $SW - # NOTE: iOS build not support docker at the moment + - sudo pip install virtualenv # to run petstore server locally via docker - #- docker pull swaggerapi/petstore - #- docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore - #- docker ps -a + - docker pull swaggerapi/petstore + - docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore + - docker ps -a + # Add bats test framework and cURL for Bash script integration tests + - sudo add-apt-repository ppa:duggan/bats --yes + - sudo apt-get update -qq + - sudo apt-get install -qq bats + - sudo apt-get install -qq curl + # comment out below as installation failed in travis # Add rebar3 build tool and recent Erlang/OTP for Erlang petstore server tests. # - Travis CI does not support rebar3 [yet](https://github.com/travis-ci/travis-ci/issues/6506#issuecomment-275189490). # - Rely on `kerl` for [pre-compiled versions available](https://docs.travis-ci.com/user/languages/erlang#Choosing-OTP-releases-to-test-against). Rely on installation path chosen by [`travis-erlang-builder`](https://github.com/travis-ci/travis-erlang-builder/blob/e6d016b1a91ca7ecac5a5a46395bde917ea13d36/bin/compile#L18). + # - . ~/otp/18.2.1/activate && erl -version + #- curl -f -L -o ./rebar3 https://s3.amazonaws.com/rebar3/rebar3 && chmod +x ./rebar3 && ./rebar3 version && export PATH="${TRAVIS_BUILD_DIR}:$PATH" # show host table to confirm petstore.swagger.io is mapped to localhost - cat /etc/hosts # show java version - java -version - # show brew version - - brew --version - # show xcpretty version - - xcpretty -v - # show go version - - go version - # show stack version - - stack --version install: # Add Godeps dependencies to GOPATH and PATH - - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)" - - export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace" - - export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$PATH" + - eval "$(curl -sL https://raw.githubusercontent.com/travis-ci/gimme/master/gimme | GIMME_GO_VERSION=1.4 bash)" + - export GOPATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace" + - export PATH="${TRAVIS_BUILD_DIR}/Godeps/_workspace/bin:$PATH" script: # fail fast @@ -100,14 +77,12 @@ script: # fail if generators contain tab '\t' - /bin/bash ./bin/utils/detect_tab_in_java_class.sh # run integration tests defined in maven pom.xml - - travis_wait mvn -q --batch-mode verify -Psamples -### docker-related tasks have been moved to CircleCI + - mvn -q --batch-mode verify -Psamples + # Below has been moved to CircleCI # docker: build generator image and push to Docker Hub #- if [ $DOCKER_HUB_USERNAME ]; then docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD && docker build -t $DOCKER_GENERATOR_IMAGE_NAME ./modules/swagger-generator && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_GENERATOR_IMAGE_NAME:latest $DOCKER_GENERATOR_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_GENERATOR_IMAGE_NAME; fi; fi ## docker: build cli image and push to Docker Hub #- if [ $DOCKER_HUB_USERNAME ]; then docker login --email=$DOCKER_HUB_EMAIL --username=$DOCKER_HUB_USERNAME --password=$DOCKER_HUB_PASSWORD && docker build -t $DOCKER_CODEGEN_CLI_IMAGE_NAME ./modules/swagger-codegen-cli && if [ ! -z "$TRAVIS_TAG" ]; then docker tag $DOCKER_CODEGEN_CLI_IMAGE_NAME:latest $DOCKER_CODEGEN_CLI_IMAGE_NAME:$TRAVIS_TAG; fi && if [ ! -z "$TRAVIS_TAG" ] || [ "$TRAVIS_BRANCH" = "master" ]; then docker push $DOCKER_CODEGEN_CLI_IMAGE_NAME; fi; fi -#env: -# - DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli after_success: # push a snapshot version to maven repo @@ -115,3 +90,6 @@ after_success: mvn clean deploy --settings .travis/settings.xml; echo "Finished mvn clean deploy for $TRAVIS_BRANCH"; fi; + +env: + - DOCKER_GENERATOR_IMAGE_NAME=swaggerapi/swagger-generator DOCKER_CODEGEN_CLI_IMAGE_NAME=swaggerapi/swagger-codegen-cli diff --git a/pom.xml b/pom.xml index 4b831f1d5ec..a3c47a48c5f 100644 --- a/pom.xml +++ b/pom.xml @@ -837,18 +837,13 @@ - - samples/server/petstore/scalatra - samples/client/petstore/ruby samples/client/petstore/scala samples/client/petstore/akka-scala samples/client/petstore/javascript samples/client/petstore/python - - samples/client/petstore/typescript-fetch/builds/default samples/client/petstore/typescript-fetch/builds/es6-target samples/client/petstore/typescript-fetch/builds/with-npm-version @@ -858,20 +853,10 @@ samples/client/petstore/typescript-angularjs--> - samples/client/petstore/typescript-angular-v2/npm + samples/client/petstore/typescript-angular-v4/npm samples/client/petstore/typescript-angular-v4.3/npm - - +