[JENKINS-41854] Recontextualizing FilePath on demand#101
Conversation
|
Our Windows agents are very flaky… |
A static contextual object in a nested scope does not override a DynamicContext in a parent scope. In this case we actually did want to have WorkspaceStepExecution use DynamicContext for the same JENKINS-41854 fix, but are there other cases where this is a real flaw?
…ilePathAfterAgentReconnection in which the build fails due to a ChannelClosedException but unclear where this is actually being thrown up (and am not currently succeeding in reproducing).
basil
left a comment
There was a problem hiding this comment.
Thanks for fixing this long-standing robustness bug!
|
Also looks like we need to bump to plugin-pom 3.43 to fix the Javadoc failures. |
Sure, I can do a round of updates. |
| protected FilePath tryResolve() { | ||
| return FilePathUtils.find(slave, path); | ||
| } | ||
| @Override protected FlowExecutionOwner getOwner() { |
There was a problem hiding this comment.
This was actually introduced for use from PickleDynamicContext, which was removed as of 5a7a0b2, but it is independently useful—means that if a program is still using FilePathPickle despite this PR + jenkinsci/workflow-basic-steps-plugin#86, and it is taking a while to resume, the build log will indicate why. Previously only ExecutorPickle implemented this. Generally pickles should implement this method if possible.
|
On hold as in jenkinsci/workflow-support-plugin#95 (comment). |
|
@jglick If someone updates to the new version of workflow-durable-task-step without also updating workflow-cps, things will totally break, since there won't be a I was thinking we might be able to fix this by adding a Does this seem like something we should look into, or do you think a warning in the release notes is enough? |
|
I think it just needs to be release-noted. The Jenkins update center has no general way of dealing with this. Advertisement for Beekeeper I suppose. |
Downstream of jenkinsci/workflow-step-api-plugin#42 & jenkinsci/workflow-cps-plugin#291. Enables test created in #70.