The Matrix Reloaded Plugin allows rebuilding parts of an already built Matrix build.
On all Matrix builds that has run while the plugin was installed there will be a Matrix reloaded link. Click this, and it will take you to a dialog, where you can check-mark the configurations that should be build again. Nothing is checked by default, but the check-marks you set will be cascaded as default settings, if applicable, to any down-stream jobs triggered by the re-run.
Occasionally when using matrix builds some of the configurations may fail due to reasons, that are not necessarily related to the quality of your code. We refer to them as false negatives, typical examples could be that a slave didn't manage to obtain a license for some product you are dependent on, a glitch in the network communication or a wrong hard-ware configuration for the particular slave that ran it.
When that happens, you would probably want to rebuild those false negatives simply by rerunning them and then paint over the original result in the matrix with the new one.
With the Matrix Reloaded Plugin installed, all matrix builds will hereafter offer a link named "Matrix reloaded" which takes you to a dialog where you are presented to the original results of the matrix run and offered an option to mark to ones you want to rebuild.
When you hit the "Rebuild Matrix" button a new Matrix build is scheduled for execution. In the result all the configurations that were not selected for rebuilding will continue to point to the original build results, while the configurations that you did select are being rebuilt and replaced in the new resulting matrix.
The Matrix Reloaded link is only available on the builds that were executed while the Matrix Reloaded Plugin was actually installed. Sometimes you may see a Matrix Build, that doesn't offer the Reload option, even though you did install the plugin. When that happens you can simply do a regular re-run (of the entire matrix) and the Matrix Reloaded option will be available on the new result.
Once a build has been run, a link in the side panel of the Matrix build and each of the sub runs have been added. This can be seen in the following image:
When the "Matrix Reloaded" link is clicked, the user can select which runs to rebuild. See the following image:
By default the failed and unstable runs are checked.
When the "Rebuild Matrix" button is clicked, the resulting build should, hopefully, look like:
Selecting a specific Matrix run from a Matrix build, the "Matrix Reloaded" link checks that specific run by default and no other run.
It is possible to let downstream builds inherit the Matrix Loaded configuration. This will rebuild the same combinations in any downstream project.
We do not plan that the Matrix Reloaded plugin should have any influence on jobs actually being rebuilt. This could potentially create a bit of a paradox: If a build is rebuilding only some configurations and the job is configured to get the latest commit from a SCM, and a new commit actually exists, then some of the configurations are based on one commit, while others are actually based on the newer commit.
Potentially a mess!
Design wiki: Matrix Reloaded Plugin Design