I have a job that can perform concurrent builds.
As post-build steps I have both Perforce: Publish assets and Perforce: Cleanup.
The Publish assets action on the concurrent build results in:
P4: Unable to setup workspace: com.perforce.p4java.exception.RequestException: Error in client specification.
Embedded special characters (*, %%, #, @) not allowed in 'C:\Program Files (x86)\Jenkins\workspace\test-project-assets@2'.
ERROR: Step ‘Perforce: Publish assets’ failed: P4: Unable to setup workspace: com.perforce.p4java.exception.RequestException: Error in client specification.
Embedded special characters (*, %%, #, @) not allowed in 'C:\Program Files (x86)\Jenkins\workspace\test-project-assets@2'.
If I remove the Publish assets step and only perform the Cleanup step I get:
P4: Template workspace not found: jenkins-master-test-project-assets_TEST
P4: Unable to setup workspace: hudson.AbortException: P4: Undefined workspace: jenkins-master-test-project-assets_TEST.clone2
ERROR: Step ‘Perforce: Cleanup’ failed: P4: Unable to setup workspace: hudson.AbortException: P4: Undefined workspace: jenkins-master-test-project-assets_TEST.clone2
The exceptions do NOT occur on the first concurrent build.
Code changed in jenkins
User: Paul Allen
Path:
src/main/java/org/jenkinsci/plugins/p4/PerforceScm.java
src/main/java/org/jenkinsci/plugins/p4/client/CleanupNotifier.java
src/main/java/org/jenkinsci/plugins/p4/publish/PublishNotifier.java
src/main/java/org/jenkinsci/plugins/p4/publish/PublishNotifierStep.java
src/main/java/org/jenkinsci/plugins/p4/tasks/RemoveClientTask.java
http://jenkins-ci.org/commit/p4-plugin/880b2a4a498d8aa72def30643949c1a3a0843f3a
Log:
Set environment to expand client name for Publish and Remove Client.
JENKINS-43378