ci: if all changed files are in docs/en or docs/zh, make it a docs PR and skip tests
This commit is contained in:
parent
d1b833c5a6
commit
3d6aa3435f
58
Jenkinsfile2
58
Jenkinsfile2
|
@ -1,6 +1,7 @@
|
||||||
import hudson.model.Result
|
import hudson.model.Result
|
||||||
import hudson.model.*;
|
import hudson.model.*;
|
||||||
import jenkins.model.CauseOfInterruption
|
import jenkins.model.CauseOfInterruption
|
||||||
|
docs_only=0
|
||||||
node {
|
node {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +30,48 @@ def abort_previous(){
|
||||||
if (buildNumber > 1) milestone(buildNumber - 1)
|
if (buildNumber > 1) milestone(buildNumber - 1)
|
||||||
milestone(buildNumber)
|
milestone(buildNumber)
|
||||||
}
|
}
|
||||||
|
def check_docs() {
|
||||||
|
if (env.CHANGE_URL =~ /\/TDengine\//) {
|
||||||
|
sh '''
|
||||||
|
hostname
|
||||||
|
date
|
||||||
|
env
|
||||||
|
'''
|
||||||
|
sh '''
|
||||||
|
cd ${WKC}
|
||||||
|
git reset --hard
|
||||||
|
git clean -fxd
|
||||||
|
rm -rf examples/rust/
|
||||||
|
git remote prune origin
|
||||||
|
git fetch
|
||||||
|
'''
|
||||||
|
script {
|
||||||
|
sh '''
|
||||||
|
cd ${WKC}
|
||||||
|
git checkout ''' + env.CHANGE_TARGET + '''
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
sh '''
|
||||||
|
cd ${WKC}
|
||||||
|
git pull >/dev/null
|
||||||
|
git fetch origin +refs/pull/${CHANGE_ID}/merge
|
||||||
|
git checkout -qf FETCH_HEAD
|
||||||
|
'''
|
||||||
|
def file_changed = sh (
|
||||||
|
script: '''
|
||||||
|
cd ${WKC}
|
||||||
|
git --no-pager diff --name-only FETCH_HEAD `git merge-base FETCH_HEAD ${CHANGE_TARGET}`|grep -v "^docs/en/"|grep -v "^docs/zh/"
|
||||||
|
''',
|
||||||
|
returnStdout: true
|
||||||
|
).trim()
|
||||||
|
if (file_changed == '') {
|
||||||
|
echo "docs PR"
|
||||||
|
docs_only=1
|
||||||
|
} else {
|
||||||
|
echo file_changed
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
def pre_test(){
|
def pre_test(){
|
||||||
sh '''
|
sh '''
|
||||||
hostname
|
hostname
|
||||||
|
@ -307,10 +350,25 @@ pipeline {
|
||||||
WKPY = '/var/lib/jenkins/workspace/taos-connector-python'
|
WKPY = '/var/lib/jenkins/workspace/taos-connector-python'
|
||||||
}
|
}
|
||||||
stages {
|
stages {
|
||||||
|
stage('check') {
|
||||||
|
when {
|
||||||
|
allOf {
|
||||||
|
not { expression { env.CHANGE_BRANCH =~ /docs\// }}
|
||||||
|
not { expression { env.CHANGE_URL =~ /\/TDinternal\// }}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
parallel {
|
||||||
|
stage('check docs') {
|
||||||
|
agent{label " worker03 || slave215 || slave217 || slave219 || Mac_catalina "}
|
||||||
|
check_docs()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
stage('run test') {
|
stage('run test') {
|
||||||
when {
|
when {
|
||||||
allOf {
|
allOf {
|
||||||
not { expression { env.CHANGE_BRANCH =~ /docs\// }}
|
not { expression { env.CHANGE_BRANCH =~ /docs\// }}
|
||||||
|
expression { docs_only == 0 }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
parallel {
|
parallel {
|
||||||
|
|
Loading…
Reference in New Issue