mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
74 lines
3.0 KiB
YAML
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
|