Ignore runs-on with expressions when warning no matched runners (#25917) (#25933)

Backport #25917 by @wolfogre

Fix #25905

Co-authored-by: Jason Song <i@wolfogre.com>
(cherry picked from commit b7d054e4b5ccabbc1bf10824b6e3483a53c437f9)
This commit is contained in:
Giteabot 2023-07-18 02:40:28 -04:00 committed by Earl Warren
parent d5c4f3430e
commit 16102d3787
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -6,6 +6,7 @@ package actions
import (
"bytes"
"net/http"
"strings"
actions_model "code.gitea.io/gitea/models/actions"
"code.gitea.io/gitea/models/db"
@ -105,6 +106,12 @@ func List(ctx *context.Context) {
for _, j := range wf.Jobs {
runsOnList := j.RunsOn()
for _, ro := range runsOnList {
if strings.Contains(ro, "${{") {
// Skip if it contains expressions.
// The expressions could be very complex and could not be evaluated here,
// so just skip it, it's OK since it's just a tooltip message.
continue
}
if !allRunnerLabels.Contains(ro) {
workflow.ErrMsg = ctx.Locale.Tr("actions.runs.no_matching_runner_helper", ro)
break