| pipeline { |
| agent { |
| docker { |
| image 'controller.trafficserver.org/ats/docs_build:30' |
| registryUrl 'https://controller.trafficserver.org/' |
| label 'docker' |
| // We need host networking for clang-format to download |
| args '--network host' |
| } |
| } |
| stages { |
| stage('Clone') { |
| steps { |
| dir('src') { |
| echo "${sha1}" |
| checkout([$class: 'GitSCM', |
| branches: [[name: sha1]], |
| extensions: [], |
| userRemoteConfigs: [[url: github_url, refspec: '+refs/pull/*:refs/remotes/origin/pr/*']]]) |
| } |
| echo 'Finished Cloning' |
| } |
| } |
| stage('Build') { |
| steps { |
| echo 'Starting build' |
| dir('src') { |
| sh('head -1 README') |
| sh('autoreconf -if && ./configure') |
| sh('rm -f lib/ts/stamp-h1') |
| |
| // Run RAT |
| sh('make rat | tee RAT.txt') |
| |
| // Mark as failed if there are any unknown licesnes |
| sh('grep \'0 Unknown Licenses\' RAT.txt > /dev/null || exit -1') |
| sh('exit 0') |
| } |
| } |
| } |
| } |
| |
| post { |
| cleanup { |
| cleanWs() |
| } |
| } |
| } |