Status: Open (View Workflow)
Binary +x files are not being synced to Linux or Mac with the executable bit set.
$ p4 files ...//depot/Executable/f2709#1 - add change 2709 (text)//depot/Executable/hello.sh#2 - edit change 2710 (text+x)//depot/Executable/ls#1 - add change 2711 (binary+x)
Build step in job that runs 'ls -l':
[Executable] $ /bin/sh -xe /tmp/jenkins6963197685071756239.sh + ls -l total 144 -r--rw-r-- 1 kwirth kwirth 45 Dec 23 15:14 f2709 -r-xrwxr-x 1 kwirth kwirth 11 Dec 23 15:14 hello.sh -r--rw-r-- 1 kwirth kwirth 138208 Dec 23 15:14 ls
Note no 'x' on 'ls' line.
(1) Put an executable binary like 'ls' in the workspace and submit it. For example:
cp `which ls` .
p4 add -t binary+x ls
p4 submit -d "Adding binary"
(2) Create a Jenkins jobs that syncs the file.
(3) In the build job include an 'Execute Shell' step that runs 'ls -l'.
(4) Run job.
(5) Look in console log in output from ls for executable bit set on 'ls'.
Upgraded to 1.13.2 now that there's a fix for
JENKINS-69172 & ran into this right away, unfortunately. We're using Jenkins 2.346.3 & have downgraded for now & added myself as a watcher to this ticket.
Thank you for looking into this & thank you for solving that previous unshelve issue as well! I'll keep an eye on this one for updates
Thanks pd_andrew - I know the P4Java bug is being worked on but I don't have an ETA yet for when the P4Java version will be shipped so we can build a new version of P4Jenkins with it.
Thanks p4karl! No worries on the ETA, we're going to stay on 1.11.6 until the fix is ready, I've added myself as a watcher to this ticket, and we're going to focus on other plugin/core upgrades in the meantime.
We just upgraded an ancient jenkins server (was running 2.89.2) to the latest and updated all the plugins and we just ran into this issue along with another p4 plugin bug: JENKINS-70237
I initially downgraded to 1.13.0, but with JENKINS-70237 (which is also critical for us), I ended up having to downgrade back to 1.12.4
is this still broken on 1.13.3 ? Going to test but wanted to confirm if anyone else tried
Yes, fixed. Unfortunately we only listed one of p4java bug fixes in the 1.13.3 release notes.
1.13.3 includes P4Java 2022.1 Patch 1 ( p4java 2022.1.2390907), https://www.perforce.com/perforce/doc.current/user/p4javanotes.txt
Note - The workaround for now would be to downgrade or have an explicit build step that changes the permissions.