branches: only: - master - /^it\/.*$/ language: groovy jdk: - openjdk8 sudo: required services: - docker env: global: MAVEN_OPTS=-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn cache: directories: - $HOME/.m2 # Travis Lifecycle: https://docs.travis-ci.com/user/job-lifecycle#the-job-lifecycle # Travis Stages: https://docs.travis-ci.com/user/build-stages/ # Travis Conditions: https://docs.travis-ci.com/user/conditional-builds-stages-jobs # Travis GHPages deploy provider: https://docs.travis-ci.com/user/deployment/pages/ jobs: include: - stage: Tests name: Golang Build if: type = pull_request script: - docker build -t piper:${TRAVIS_BRANCH} . - name: Golang Build & Publish if: type != pull_request && repo = "SAP/jenkins-library" && branch = "master" script: - docker build -t piper:${TRAVIS_BRANCH} . - docker create --name piper_${TRAVIS_BRANCH} piper:${TRAVIS_BRANCH} - docker cp piper_${TRAVIS_BRANCH}:/build/piper . - docker rm piper_${TRAVIS_BRANCH} - cp ./piper ./piper_master - chmod +x ./piper - ./piper githubPublishRelease --token ${GITHUB_TOKEN} --version latest --assetPath ./piper_master - name: Groovy Unit Tests before_script: - curl -L --output cc-test-reporter https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 - chmod +x ./cc-test-reporter - ./cc-test-reporter before-build script: - mvn package --batch-mode after_script: - JACOCO_SOURCE_PATH="src vars test" ./cc-test-reporter format-coverage target/site/jacoco/jacoco.xml --input-type jacoco - ./cc-test-reporter upload-coverage - name: Consumer Tests if: repo = "SAP/jenkins-library" && ( (type != pull_request && branch =~ /^master$|^it\/.*$/) || (type == pull_request && head_repo = "SAP/jenkins-library" && head_branch =~ /^it\/.*$/) ) script: cd consumer-test && groovy consumerTestController.groovy - stage: Docs name: Create Documentation install: docker pull squidfunk/mkdocs-material:3.0.4 before_script: - documentation/bin/createDocu.sh - docker run -u `id -u`:`id -g` --rm -it -e GOCACHE=/tmp -v ${TRAVIS_BUILD_DIR}:/docu-gen golang sh -c "cd /docu-gen && go get github.com/SAP/jenkins-library/... && go run /docu-gen/pkg/generator/step-metadata.go --docuDir=/docu-gen/documentation/docs/steps/ --docuGen=true " script: - docker run -u `id -u`:`id -g` --rm -it -v ${TRAVIS_BUILD_DIR}/documentation:/docs squidfunk/mkdocs-material:3.0.4 build --clean --strict after_script: - mkdir -p documentation/docs-gen/misc - cp target/docuMetaData.json documentation/docs-gen/misc deploy: on: branch: master provider: pages skip_cleanup: true github_token: ${GITHUB_TOKEN} name: 'Travis CI Publisher' local_dir: 'documentation/docs-gen' keep_history: true #verbose: true