internal/relui: use string slice for skips
We support string slices now. Use them instead of a janky
space-separated list.
For golang/go#51797.
Change-Id: Id2c090412443239c8e1e10563dac694ff2869b2d
Reviewed-on: https://go-review.googlesource.com/c/build/+/406020
Auto-Submit: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/internal/relui/buildrelease_test.go b/internal/relui/buildrelease_test.go
index 87a4afd..67f9ac5 100644
--- a/internal/relui/buildrelease_test.go
+++ b/internal/relui/buildrelease_test.go
@@ -54,7 +54,7 @@
w, err := workflow.Start(wd, map[string]interface{}{
"Revision": "0",
"Version": "go1.18releasetest1",
- "Targets to skip testing (space-separated target names or 'all') (optional)": "",
+ "Targets to skip testing (or 'all') (optional)": []string(nil),
})
if err != nil {
t.Fatal(err)
diff --git a/internal/relui/workflows.go b/internal/relui/workflows.go
index cdd761a..f1bffb2 100644
--- a/internal/relui/workflows.go
+++ b/internal/relui/workflows.go
@@ -203,7 +203,7 @@
}
version := wd.Parameter(workflow.Parameter{Name: "Version", Example: "go1.10.1"})
revision := wd.Parameter(workflow.Parameter{Name: "Revision", Example: "release-branch.go1.10"})
- skipTests := wd.Parameter(workflow.Parameter{Name: "Targets to skip testing (space-separated target names or 'all') (optional)"})
+ skipTests := wd.Parameter(workflow.Parameter{Name: "Targets to skip testing (or 'all') (optional)", ParameterType: workflow.SliceShort})
source := wd.Task("Build source archive", tasks.buildSource, revision, version)
// Artifact file paths.
@@ -275,12 +275,12 @@
})
}
-func (b *BuildReleaseTasks) runTests(ctx *workflow.TaskContext, target *releasetargets.Target, buildlet, skipTests string, binary artifact) (string, error) {
- skipped := skipTests == "all"
- skipTargets := strings.Fields(skipTests)
- for _, skip := range skipTargets {
- if target.Name == skip {
+func (b *BuildReleaseTasks) runTests(ctx *workflow.TaskContext, target *releasetargets.Target, buildlet string, skipTests []string, binary artifact) (string, error) {
+ skipped := false
+ for _, skip := range skipTests {
+ if skip == "all" || target.Name == skip {
skipped = true
+ break
}
}
if skipped {