blob: ac84663ed0f3b34988470a7ddb9213df9b15b555 [file] [log] [blame]
pipeline {
agent {
label 'docker-amd64-tf-a-bionic'
}
parameters {
string(
name: 'URL',
defaultValue: 'https://review.trustedfirmware.org/TF-A/trusted-firmware-a',
description: 'Repository URL.')
string(
name: 'REFSPEC',
defaultValue: '+refs/heads/*:refs/remotes/origin/*',
description: 'Git refspec used when fetching.')
string(
name: 'REFNAME',
defaultValue: 'origin/master',
description: 'Git refname of the last commit to lint.')
string(
name: 'REFNAME_BASE',
defaultValue: 'origin/master',
description: 'Git refname of the parent of the first commit to lint.')
}
stages {
stage('Checkout') {
steps {
checkout([$class: 'GitSCM',
branches: [[name: params.REFNAME]],
userRemoteConfigs: [[
url: params.URL,
refspec: params.REFSPEC]]])
script {
mergeBase = sh(
returnStdout: true,
script: "git merge-base ${params.REFNAME_BASE} HEAD").trim()
}
}
}
stage('Lint') {
steps {
script {
if (fileExists('.nvmrc')) {
sh "bash -c 'nvm install'"
}
}
sh "bash -c 'npm install --no-save commitlint'"
sh "bash -c 'npx commitlint --from=${mergeBase}'"
}
}
}
}