version: 2 jobs: build: # docker: # #- image: openapitools/openapi-generator # - image: swaggerapi/petstore # environment: # SWAGGER_HOST=http://petstore.swagger.io # SWAGGER_BASE_PATH=/v2 machine: docker_layer_caching: true working_directory: ~/OpenAPITools/openapi-generator parallelism: 3 shell: /bin/bash --login environment: CIRCLE_ARTIFACTS: /tmp/circleci-artifacts CIRCLE_TEST_REPORTS: /tmp/circleci-test-results DOCKER_GENERATOR_IMAGE_NAME: openapitools/openapi-generator DOCKER_CODEGEN_CLI_IMAGE_NAME: openapitools/openapi-generator-cli steps: # Restore the dependency cache - restore_cache: keys: # Default branch if not - source-v1-{{ .Branch }}-{{ .Revision }} - source-v1-{{ .Branch }}- - source-v1- # Machine Setup # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each # The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out. - checkout # Prepare for artifact and test results collection equivalent to how it was done on 1.0. # In many cases you can simplify this from what is generated here. # 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/' - run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS # This is based on your 1.0 configuration file or project settings - run: command: sudo update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java; sudo update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac; echo -e "export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" >> $BASH_ENV - run: command: 'sudo docker info >/dev/null 2>&1 || sudo service docker start; ' - run: command: |- printf '127.0.0.1 petstore.swagger.io ' | sudo tee -a /etc/hosts # Dependencies # Install latest stable node for angular 6 - run: name: Install node@stable (for angular 6) command: | set +e curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash export NVM_DIR="/opt/circleci/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" nvm install stable nvm alias default stable # Each step uses the same `$BASH_ENV`, so need to modify it echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV - run: node --version # - run: docker pull openapitools/openapi-petstore # - run: docker run -d -e OPENAPI_BASE_PATH=/v3 -e DISABLE_API_KEY=1 -e DISABLE_OAUTH=1 -p 80:8080 openapitools/openapi-petstore - run: docker pull swaggerapi/petstore - run: docker run -d -e SWAGGER_HOST=http://petstore.swagger.io -e SWAGGER_BASE_PATH=/v2 -p 80:8080 swaggerapi/petstore - run: docker ps -a - run: sleep 30 - run: cat /etc/hosts # Test - run: mvn --quiet clean install - run: ./CI/circle_parallel.sh # Save dependency cache - save_cache: key: source-v1-{{ .Branch }}-{{ .Revision }} paths: # This is a broad list of cache paths to include many possible development environments # You can probably delete some of these entries - vendor/bundle - ~/virtualenvs - ~/.m2 - ~/.ivy2 - ~/.bundle - ~/.go_workspace - ~/.gradle - ~/.cache/bower - ".git" # Teardown # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each # Save test results - store_test_results: path: /tmp/circleci-test-results # Save artifacts - store_artifacts: path: /tmp/circleci-artifacts - store_artifacts: path: /tmp/circleci-test-results