/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ def ssBuildBadge = addEmbeddableBadgeConfiguration(id: "ssbuild", subject: "Build") pipeline { agent { label 'ubuntu' } options { buildDiscarder(logRotator( numToKeepStr: '60', )) timestamps() skipStagesAfterUnstable() timeout time: 60, unit: 'MINUTES' } stages { stage('SCM checkout') { steps { script { try { deleteDir() checkout scm sh 'git submodule update --init' } catch (exc) { error 'Build failed' sh 'exit 1' } } } } stage('Build & Test') { tools { // use at least Apache Maven 3.3.1 to have .mvn/jvm.config support maven 'Maven 3.6.2' jdk 'JDK 1.8 (latest)' } steps { script { ssBuildBadge.setStatus('running') try { sh ''' mvn clean verify cobertura:cobertura coveralls:report -DrepoToken=${COVERALLS_REPO_TOKEN} -DpullRequest=${ghprbPullLink} -Prelease ''' ssBuildBadge.setStatus('passing') } catch (Exception err) { ssBuildBadge.setStatus('failing') ssBuildBadge.setColor('pink') error 'Build failed' } } } } } post { success { junit '**/target/surefire-reports/*.xml' } cleanup { deleteDir() } } }