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

Fix #25905

Co-authored-by: Giteabot <teabot@gitea.io>
This commit is contained in:
Jason Song 2023-07-18 00:19:53 +08:00 committed by GitHub
parent ff9a7afe99
commit 29e959fd00
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import (
"bytes"
"fmt"
"net/http"
"strings"
actions_model "code.gitea.io/gitea/models/actions"
"code.gitea.io/gitea/models/db"
@ -106,6 +107,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