Believe I have reproduced this. Reproduction steps: (1) Create a workspace in ws (2) Create files in "/ws/JENKINS-58639" (3) Created "/ws/JENKINS-58639/Jenkinsfile":
pipeline {
options {
skipDefaultCheckout()
} agent { label 'docker-slave' } stages {
stage("Sync") {
steps {
script{
checkout perforce(credential: 'JenkinsMaster', filter: [incremental(true)], populate: syncOnly(force: false, have: true, modtime: false, parallel: [enable: false, minb
ytes: '1024', minfiles: '1', threads: '4'], pin: '', quiet: true, revert: false), workspace: templateSpec(charset: 'none', format: 'jenkins-${NODE_NAME}-${JOB_NAME}-src', pinHost:
false, templateName: "JENKINS-58639-template"))
}
}
}
stage ("wait_prior_starting_smoke_testing") {
steps {
echo 'Waiting 20 seconds'
sleep 30
}
}
stage("Test") {
steps {
sh 'ls'
}
}
}
}
(4) Create a job with (5) Set quiet period to 5 (not so important). (6) Build job once. (7) Submit a file to '/ws/JENKINS-58639'. (8) Add a trigger to perforce to slow down syncs. For example create script "sleep.sh":
echo Sleeping for 600s in trigger...
sleep 600
make the file executable, then create a trigger entry:
trigger.sleep.1 command pre-user-sync ./sleep.sh
(9) Run Poll now. Job will wait 5 seconds then start building. (10) Submit another changelist to '/ws/JENKINS-58639'. (11) Wait 20 seconds run Poll now. Job will wait 5 seconds then start building. (12) Wait 20 seconds run Poll now. Job will wait 5 seconds then start building. (13) Wait 20 seconds run Poll now. Job will wait 5 seconds then start building. (14) Wait 20 seconds run Poll now. Job will wait 5 seconds then start building. |