Re: [workflow-plugin] dependencies between parallel steps?
On Sunday, December 14, 2014 9:26:58 PM UTC-5, Alexander Bertram wrote: But it looks like I need to implement a waitFor primitive JENKINS-25570 is implemented in 1.2 and adds a waitUntil step. -- 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/d04116d5-9ada-4fca-a9e4-d81ffa94fe62%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [workflow-plugin] dependencies between parallel steps?
Yes! That's perfect. Are you working on JENKINS-26052 now or is this something I could submit a pull request for? Will comment further on JENKINS-26052. Best, Alex On Tuesday, December 16, 2014 11:45:29 PM UTC+1, Kohsuke Kawaguchi wrote: I think JENKINS-26052 https://issues.jenkins-ci.org/browse/JENKINS-26052 would be a natural solution for this. parallel() has a different emphasis from yours. I also thought about building a library on top of workflow that lets you declare tasks with dependencies and have the library figure out what to execute in what order (including parallelism), which might work well for this, too. The idea is something like the following: task(name:foo) { // whatever computation you fancy sh '...' } task(name:bar, depends:[foo]) { ... } task(name:zot, depends:[foo]) { ... } attain zot // foo runs, then bar+zot runs in parallel 2014-12-14 18:26 GMT-08:00 Alexander Bertram al...@bedatadriven.com javascript:: I'm experimenting with the moving some hacky build proccesses into the great new workflow plugin, but not sure how to best handle dependencies between parallel steps. The workflow is meant to test a release candidate of an R-language interpreter against a library of a few thousand packages, some of which depend on each other. ideally my flow would look like this: def packages = fetchPackageIds() builds = [:] for p in packages { builds[p] = { waitFor dependencyPackageIds(p) node { buildPackage p } } } parallel builds But it looks like I need to implement a waitFor primitive that is similar to stage but local to the flow rather than global? Or is there another approach I'm missing? Thanks, Alex -- 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 javascript:. To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/ba1047d2-c7bd-4b9b-9f78-463573e99877%40googlegroups.com . For more options, visit https://groups.google.com/d/optout. -- Kohsuke Kawaguchi -- 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/1a4d8754-3df1-42fc-bfbe-a93d313b04fb%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
Re: [workflow-plugin] dependencies between parallel steps?
I think JENKINS-26052 https://issues.jenkins-ci.org/browse/JENKINS-26052 would be a natural solution for this. parallel() has a different emphasis from yours. I also thought about building a library on top of workflow that lets you declare tasks with dependencies and have the library figure out what to execute in what order (including parallelism), which might work well for this, too. The idea is something like the following: task(name:foo) { // whatever computation you fancy sh '...' } task(name:bar, depends:[foo]) { ... } task(name:zot, depends:[foo]) { ... } attain zot // foo runs, then bar+zot runs in parallel 2014-12-14 18:26 GMT-08:00 Alexander Bertram a...@bedatadriven.com: I'm experimenting with the moving some hacky build proccesses into the great new workflow plugin, but not sure how to best handle dependencies between parallel steps. The workflow is meant to test a release candidate of an R-language interpreter against a library of a few thousand packages, some of which depend on each other. ideally my flow would look like this: def packages = fetchPackageIds() builds = [:] for p in packages { builds[p] = { waitFor dependencyPackageIds(p) node { buildPackage p } } } parallel builds But it looks like I need to implement a waitFor primitive that is similar to stage but local to the flow rather than global? Or is there another approach I'm missing? Thanks, Alex -- 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/ba1047d2-c7bd-4b9b-9f78-463573e99877%40googlegroups.com . For more options, visit https://groups.google.com/d/optout. -- Kohsuke Kawaguchi -- 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/CAN4CQ4zqi2aMNutgKp-5B2ErVWiE%2BfUUXguDXkigsS32k1k7WA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
[workflow-plugin] dependencies between parallel steps?
I'm experimenting with the moving some hacky build proccesses into the great new workflow plugin, but not sure how to best handle dependencies between parallel steps. The workflow is meant to test a release candidate of an R-language interpreter against a library of a few thousand packages, some of which depend on each other. ideally my flow would look like this: def packages = fetchPackageIds() builds = [:] for p in packages { builds[p] = { waitFor dependencyPackageIds(p) node { buildPackage p } } } parallel builds But it looks like I need to implement a waitFor primitive that is similar to stage but local to the flow rather than global? Or is there another approach I'm missing? Thanks, Alex -- 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/ba1047d2-c7bd-4b9b-9f78-463573e99877%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.