blob: 86f359cc2fecf3d8ff3286444b484022a0c3afa0 [file] [log] [blame]
pipeline {
agent {
docker {
image 'ci.trafficserver.apache.org/ats/centos:7'
registryUrl 'https://ci.trafficserver.apache.org/'
label 'docker'
args '-v ${HOME}/ccache:/tmp/ccache:rw'
}
}
environment {
CCACHE_DIR = "/tmp/ccache"
CCACHE_BASEDIR = "${WORKSPACE}"
}
stages {
stage('Clone') {
steps {
dir('src') {
echo "${sha1}"
checkout([$class: 'GitSCM',
branches: [[name: sha1]],
extensions: [
// We have to set an idenity for the merge step because Git requires
// the user.name and user.email to be set to do a merge.
[$class: "UserIdentity",
name: "ATS CI User",
email: "noreply@trafficserver.apache.org"
],
[$class: "PreBuildMerge",
options: [
mergeTarget: "${GITHUB_PR_TARGET_BRANCH}",
fastForwardMode: "NO_FF",
mergeRemote: "origin",
mergeStrategy: "DEFAULT"
]
],
],
userRemoteConfigs: [[url: github_url, refspec: '+refs/pull/*:refs/remotes/origin/pr/*']]])
sh 'git show -n 10 --decorate --graph --oneline --no-patch'
}
echo 'Finished Cloning'
}
}
stage('Build') {
steps {
echo 'Starting build'
dir('src') {
sh '''#!/bin/bash
set -x
set -e
source /opt/rh/devtoolset-8/enable
autoreconf -fiv
./configure --with-openssl=/opt/openssl-quic --enable-experimental-plugins --enable-example-plugins --prefix=/tmp/ats/ --enable-werror --enable-debug --enable-ccache
make -j4 V=1 Q=
make -j 2 check VERBOSE=Y V=1
make install
/tmp/ats/bin/traffic_server -K -k -R 1
'''
}
}
}
}
post {
cleanup {
cleanWs()
}
}
}