Hi kyates,
Thanks. I was having problems reproducing it, but just managed it. Assigning to the devs. They will review the defect during their next sprint review. I do not know when this will be but I will also highlight this to the product manager.
Reproduction steps for Dev:
(1) Create the following directory structure in Perforce:
and use the Jenkinsfile:
pipeline {
agent { label 'master' }
stages {
stage("Repro") {
steps {
script {
checkout perforce(credential: 'JenkinsMaster', populate: forceClean(have: false, parallel: [enable: false, minbytes: '1024', minfiles: '1', threads: '4'], pin: params.PINCL, quiet: false), workspace: manualSpec(charset: 'none', cleanup: false, name: 'jenkins-${NODE_NAME}-${JOB_NAME}-${EXECUTOR_NUMBER}-SRC', pinHost: false, spec: clientSpec(allwrite: false, backup: true, changeView: '', clobber: true, compress: false, line: 'LOCAL', locked: false, modtime: false, rmdir: false, serverID: '', streamName: '', type: 'WRITABLE', view: ' }
}
}
}
}
(2) Create a new pipeline job with the string paramater "PINCL" with no default value and Jenkinsfile from SCM source:
(3) Manually build the job with no paramater to set up polling.
(4) Submit a new file to 'src' subtree.
(5) Run 'Poll Now' (assumes poll now plugin installed).
(6) Correct changelist found.
(7) Submit two new files to 'src' subtree in seperate changelists.
(8) Manually build the job with paramater set to first changelist from step (7). Therefore we have not built head.
(9) Run 'Poll now' again. The changelist from step (8) is used as the lower and upper limit. For example it was CL 123 (pure coincidence
) in my testing and head revision for 'src' was CL 124:
Perforce Software Polling Log
Started on Jun 9, 2021 11:36:03 AM
Executor number at runtime: 0
P4: Polling on: master with:jenkins-master-PinPolled2JenkinsfileNew-0
Found last change 121 on syncID jenkins-NODE_NAME-PinPolled2JenkinsfileNew-EXECUTOR_NUMBER
... p4 login -s +
... p4 client -o jenkins-master-PinPolled2JenkinsfileNew-0 +
... p4 info +
... p4 info +... p4 client -o jenkins-master-PinPolled2JenkinsfileNew-0 +
P4 Task: establishing connection.
... server: 192.168.1.160:1666
... node: vm-kwirth-swarm202-xenial
P4: Polling with range: 121,now
... p4 changes -m20 ... p4 repos -C +
P4: Polling no changes found.
Executor number at runtime: 0
P4: Polling on: master with:jenkins-master-PinPolled2JenkinsfileNew-0-SRC
Found last change 123 on syncID jenkins-NODE_NAME-PinPolled2JenkinsfileNew-EXECUTOR_NUMBER-SRC
... p4 login -s +
... p4 client -o jenkins-master-PinPolled2JenkinsfileNew-0-SRC +
... p4 info +
... p4 info +
... p4 client -o jenkins-master-PinPolled2JenkinsfileNew-0-SRC +
P4 Task: establishing connection.
... server: 192.168.1.160:1666
... node: vm-kwirth-swarm202-xenial
P4: Polling with range: 123,123
... p4 changes -m20 ... p4 repos -C +P4: Polling no changes found.
Done. Took 55 ms
No changes
Note the "p4 changes -m20 //jenkins-master-PinPolled2JenkinsfileNew-0-SRC/...@123,123".
p4karl, I provided 288148 and that's what the build.xml shows.
<org.jenkinsci.plugins.p4.tagging.TagAction plugin="p4@1.11.5"> <tags/> <refChanges> <org.jenkinsci.plugins.p4.changes.P4ChangeRef> <change>288148</change> </org.jenkinsci.plugins.p4.changes.P4ChangeRef> </refChanges>
Leaving it as an empty string results in the same changes to build.xml. I use the empty string for the latest, I've never used 'now'.
Here's the polling log even though 288159 has changes, the polling isn't polling anything past the provided changelist.
P4: Polling with range: 288148,288148 ...tick... ... p4 changes -m10 //*****/...@288148,288148 + ... p4 repos -C + P4: Polling no changes found. P4: Polling no changes found. no polling baseline in *****