-
Bug
-
Resolution: Unresolved
-
Minor
-
None
-
Jenkins 1.445
MacOS
According logKeep.jelly, clicking on button Don't keep this build forever calls the Run.doToggleLogKeep function that switches the Run.keepLog attribute and save the configuration.
Once redirected on the previous page, logKeep.jelly decides to displays the button Don't keep this build forever if Run.isKeepLog() returns true.
On freestyle projects it works well as Run.keepLog == Run.isKeepLog().
However, on multi-configuration project Run.isKeepLog() checks that the N+1 build is not partial (ie. all configurations were run) to decide if log is kept or not (via MatrixBuild.getWhyKeepLog and MatrixBuild.isPartial).
So if the next build is partial, the Don't keep this build forever button is always displayed even if you click on it.
In this case it could be interesting to hide this button (maybe display why you have to keep this build), or display a button which have a "cascade" behavior (with warnings).
Thanks!
I don't see why the user should not be able to force the deletion of a build (even if the N+1 build is partial).
Especially while developing a matrix build (adding more steps incrementally) it's very useful to just zap all the old (obsolete) builds regardless of the state of the N+1 build. Especially as even failed builds are marked as "Keep this build forever" if N+1 is partial.