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 <r.fuere...@xortex.com> 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 jenkinsci-users+unsubscr...@googlegroups.com 
> <mailto:jenkinsci-users+unsubscr...@googlegroups.com>.
> 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 jenkinsci-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-users/1FDB7E46-771B-4018-A074-AF9702669F9A%40cloudbees.com.

Reply via email to