Thanks a lot for the clarification/enlightenment, Devin!
From: [email protected] <[email protected]> On Behalf Of Devin Nusbaum Sent: Dienstag, 30. Juli 2019 16:49 To: [email protected] Subject: Re: Pipeline: Expected call wound up catching different method Sverre mentioned that checkUpstream and checkDownstream call “build” and “println”. Since “build” can be an async step if you pass "wait: true”, and I wasn’t sure exactly how they were using it, I recommended removing @NonCPS from those methods. If checkUpstream and checkDownstream only use “build" in non-async mode, and “releaseUtility.getReleaseBranch” does not call any async Pipeline steps or other CPS-transformed code, then I think you should be able to annotate that method with @NonCPS in "vars/releaseUtility.groovy" and have everything work correctly. I don’t think either solution is clearly best. I would avoid using @NonCPS unless you have a clear need for it (perhaps because of a bug with some Groovy feature specific to the CPS transformation, or because the overhead of the CPS transformation is causing problems), and even though steps like “echo” work fine inside of an @NonCPS method I think it’s a lot easier to just avoid using Pipeline steps inside of @NonCPS entirely. Thanks, Devin On Jul 30, 2019, at 03:15, Reinhold Füreder <[email protected]<mailto:[email protected]>> wrote: Sorry to bring this up again, but I am just curious: Sverre wrote (a) „Both these methods [(checkUpstream and checkDownstream)] make[s] a call toreleaseUtility.getReleaseBranch.” and (b) that both are annotated with “@NonCPS” and (c) that the latter (releaseUtility.getReleaseBranch) is defined in “vars/releaseUtility.groovy“ And he also asks “I guess then getReleaseBranch needs to also be annotated with NonCPS.” @Devin: * Is annotating getReleaseBranch() with @NonCPS in “vars/releaseUtility.groovy“ section (1) allowed and (2) therefore the best solution? * Or is getReleaseBranch()in “vars/releaseUtility.groovy“ section actually a proper pipeline step and so annotating with@NonCPS actually wrong, and so @NonCPS must also be removed from checkUpstream and checkDownstream as you suggested? Thanks, Reinhold -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/DB8PR01MB6156A8F569E89602288F1547F7DC0%40DB8PR01MB6156.eurprd01.prod.exchangelabs.com<https://groups.google.com/d/msgid/jenkinsci-users/DB8PR01MB6156A8F569E89602288F1547F7DC0%40DB8PR01MB6156.eurprd01.prod.exchangelabs.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]<mailto:[email protected]>. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/1FDB7E46-771B-4018-A074-AF9702669F9A%40cloudbees.com<https://groups.google.com/d/msgid/jenkinsci-users/1FDB7E46-771B-4018-A074-AF9702669F9A%40cloudbees.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "Jenkins Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/AM0PR01MB614743FCD3E901FD29D73165F7DF0%40AM0PR01MB6147.eurprd01.prod.exchangelabs.com.
