This issue is based on
JENKINS-45455 which solves the issue of restarting a Jenkins Pipeline from Top-Level stages.
When building on multiple platforms, the builds are usually ran in parallel. We should be able to replay the build of a single platform. (e.g. if the Win64 build fails, we do not want to retrigger the already successful Macos and Linux builds)
In a multiplatform build pipeline, the steps taking the most time are the "build" steps themselves and they are running in parallel to get fast build times. Restarting from a top level in that context boils down to re-running the whole job.
- Restarting a Jenkins Pipeline from a sub-stage or parallel stage
- Given the following graph, we should be able to replay from any stage (e.g. Build-Win64, Test-MacOs, Deploy) :
Build-Win64 -> Test-Win64 -|
Build-Win32 -> Test-Win32 -|-> Deploy
Build-MacOS -> Test-MacOS -|
Build-Linux -> Test-Linux -|