diff --git a/models/actions/runner.go b/models/actions/runner.go index c524ed6060..8061ccf37e 100644 --- a/models/actions/runner.go +++ b/models/actions/runner.go @@ -225,7 +225,7 @@ func (opts FindRunnerOptions) ToConds() builder.Cond { } if opts.Filter != "" { - cond = cond.And(builder.Like{"name", opts.Filter}) + cond = cond.And(builder.Like{"name", opts.Filter}).Or(builder.Like{"uuid", opts.Filter}) } if has, value := opts.IsOnline.Get(); has { diff --git a/models/actions/runner_test.go b/models/actions/runner_test.go index bf5911ff47..acca9b1761 100644 --- a/models/actions/runner_test.go +++ b/models/actions/runner_test.go @@ -451,6 +451,18 @@ func TestRunner_FindRunnerOptionsToConds(t *testing.T) { expectedRunners: RunnerList{runner2, runner3, runner5}, unexpectedRunners: RunnerList{runner1, runner4}, }, + { + name: "Runners with partially matching name", + opts: FindRunnerOptions{Filter: "er-3"}, + expectedRunners: RunnerList{runner3}, + unexpectedRunners: RunnerList{runner1, runner2, runner4, runner5}, + }, + { + name: "Runners with partially matching UUID", + opts: FindRunnerOptions{Filter: "21f75233798b"}, + expectedRunners: RunnerList{runner4}, + unexpectedRunners: RunnerList{runner1, runner2, runner3, runner5}, + }, } for _, testCase := range testCases {