From a4de2baaaffc34801ce197ee8f970f8795f6f7fe Mon Sep 17 00:00:00 2001 From: Kanaduchi Date: Fri, 8 May 2026 14:37:48 +0100 Subject: [PATCH 1/2] [JENKINS-45050] Can only sort execution order when running sequentially #687 --- .../DefaultMatrixExecutionStrategyImpl/config.groovy | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy b/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy index ada79a14..e08d2adb 100644 --- a/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy +++ b/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy @@ -5,10 +5,14 @@ import hudson.model.Result; def f = namespace(lib.FormTagLib) +// Execution order applies to both parallel and sequential scheduling (see DefaultMatrixExecutionStrategyImpl.run()). +// Keeping the sorter inside the sequential optional block hid it when parallel mode was selected and could drop the +// sorter on save when sequential was unchecked. +if (MatrixConfigurationSorterDescriptor.all().size()>1) { + f.dropdownDescriptorSelector(title:_("Execution order of builds"), field:"sorter") +} + f.optionalBlock (field:"runSequentially", title:_("Run each configuration sequentially"), inline:true) { - if (MatrixConfigurationSorterDescriptor.all().size()>1) { - f.dropdownDescriptorSelector(title:_("Execution order of builds"), field:"sorter") - } } f.optionalBlock (field:"hasTouchStoneCombinationFilter", title:_("Execute touchstone builds first"), inline:true) { From 502660743331c4b36c31245185923399ff49085c Mon Sep 17 00:00:00 2001 From: Kanaduchi Date: Tue, 12 May 2026 00:01:17 +0100 Subject: [PATCH 2/2] [JENKINS-45050] runSequentially switched to checkbox #687 --- .../matrix/DefaultMatrixExecutionStrategyImpl/config.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy b/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy index e08d2adb..99f5acfb 100644 --- a/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy +++ b/src/main/resources/hudson/matrix/DefaultMatrixExecutionStrategyImpl/config.groovy @@ -12,7 +12,8 @@ if (MatrixConfigurationSorterDescriptor.all().size()>1) { f.dropdownDescriptorSelector(title:_("Execution order of builds"), field:"sorter") } -f.optionalBlock (field:"runSequentially", title:_("Run each configuration sequentially"), inline:true) { +f.entry(title:_("Run each configuration sequentially"), field:"runSequentially") { + f.checkbox() } f.optionalBlock (field:"hasTouchStoneCombinationFilter", title:_("Execute touchstone builds first"), inline:true) {