Starting (but not finishing) build before snapshot dependency completes

Answered

I have quite simple build chain:

Compile build is an artifact dependency for both Test and Make Installer builds.

Test build does not produce artifacts. It is just a snapshot dependency for Make Installer build, so that if tests fail, we won't make installer either.

This works fine, but Make Installer step starts only after Test step has completed. It's easy to see an opportunity for more parallelism:

  1. Compile starts and finishes.
  2. Test and Make Installer start. Test usually takes longer to run than Make Installer.
  3. Make Installer waits until Test is finished. If Test fails, then Make Installer is marked failed too. If Test passes, then Make Installer is already done.

Is there currently any way to make it work like that? I'm thinking something like:

  • Remove Make Installer's snapshot dependency of Test. Then Make Installer could start immediately after Compile is done.
  • Add last build step to Make Installer: "Wait until Test is done". Then Make Installer could pass or fail, depending on Test outcome.

But I don't know how to make a build step that would wait for another build configuration to finish.

0
1 comment
Avatar
Permanently deleted user

Well, answering to myself - an obvious solution is to create an extra "dummy" build configuration that:

  • Has snapshot dependency on Test.
  • Has artifact dependency on Make Installer.
  • Only passes the installer artifact forward. Has no build steps.

That works - now Test and Make Installer run in parallel, but installer is "published" only if Test passes - although having a build configuration with no build steps feels a bit weird.

0

Please sign in to leave a comment.