expected to call Build.checkUpstream but wound up catching releaseUtility.getReleaseBranch; see: https://jenkins.io/redirect/pipeline-cps-method-mismatches/ expected to call Build.checkDownstream but wound up catching releaseUtility.getReleaseBranch; see: https://jenkins.io/redirect/pipeline-cps-method-mismatches/
src/no/company/ci/Build.groovy
@NonCPS void checkUpstream(upstreamDependencies, projectName, buildEnvironment, releasePackages)
@NonCPS void checkDownstream(downstreamDependencies, projectName, buildEnvironment, releasePackages)
vars/releaseUtility.groovydef getReleaseBranch(projectName, buildEnvironment, releasePackages)
The checkUpstream goes through all upstream projects, find out which has failed and trigger a build on them
The checkDownstream does the same for upstream projects.
Both these methods makes a call to releaseUtility.getReleaseBranch.
Is this the reason? "it is impossible for non-CPS-transformed code to call CPS-transformed code"I guess then getReleaseBranch needs to also be annotated with NonCPS.
Maybe I no longer need NonCPS on checkUpstream and checkDownstream (ref JENKINS-26481 mentioned in the URL above).These methods do not call node or sh step (just build and println). They do access the Jenkins instance to jenkinsInstance.getItemByFullName and getting all the jobs for it.
--
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-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/15494592-78a8-4e87-b687-be4eac9d7891%40googlegroups.com.
Sorry to bring this up again, but I am just curious:
Sverre wrote (a) „Both these methods [(checkUpstream
and checkDownstream)] make[s] a call to
releaseUtility.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:
Thanks,
Reinhold
On Jul 30, 2019, at 03:15, Reinhold Füreder <r.fue...@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-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/DB8PR01MB6156A8F569E89602288F1547F7DC0%40DB8PR01MB6156.eurprd01.prod.exchangelabs.com.
Thanks a lot for the clarification/enlightenment, Devin!
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/1FDB7E46-771B-4018-A074-AF9702669F9A%40cloudbees.com.