// Copyright 2019 Google LLC // // Licensed under the the Apache License v2.0 with LLVM Exceptions (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://llvm.org/LICENSE.txt // // 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. pipeline { agent { label 'linux' } triggers { pollSCM 'H H/2 * * *' } environment { BUILD_ID="${JOB_BASE_NAME}-${BUILD_NUMBER}" TARGET_DIR="/mnt/nfs/results/${BUILD_ID}" SCRIPT_DIR = "${WORKSPACE}/llvm-premerge-checks/scripts" } options { // set build timeout timeout(time:2, unit:'HOURS') } stages { stage("git checkout"){ steps { git url: 'https://github.com/llvm/llvm-project.git' sh 'git clean -fdx' sh 'mkdir -p llvm-premerge-checks' dir("llvm-premerge-checks") { git url: 'https://github.com/google/llvm-premerge-checks.git' } sh 'rm -rf build || true' sh 'mkdir -p build' sh 'mkdir -p "${TARGET_DIR}"' } } stage('CMake') { steps { sh "${SCRIPT_DIR}/run_cmake.py" } } stage('ninja all') { steps { sh "${SCRIPT_DIR}/run_ninja.py all" } } stage('ninja check-all') { steps { sh "${SCRIPT_DIR}/run_ninja.py check-all" } } } post { always { echo "Console log is available at https://results.llvm-merge-guard.org/${BUILD_ID}" dir("${env.TARGET_DIR}") { // copy console log to result folder sh "wget -qO console-log.txt http://jenkins-ui.jenkins.svc.cluster.local:8080/job/${JOB_BASE_NAME}/${BUILD_NUMBER}/consoleText" // TODO: move all file copy operations here // junit 'build/*.xml' } } } }