1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/.travis.yml
2019-11-26 09:04:35 +01:00

74 lines
3.0 KiB
YAML

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 "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