@@ -28,9 +28,7 @@ import (
2828 webhook_module "code.gitea.io/gitea/modules/webhook"
2929 "code.gitea.io/gitea/services/convert"
3030 notify_service "code.gitea.io/gitea/services/notify"
31- "gopkg.in/yaml.v3"
3231
33- "github.com/nektos/act/pkg/exprparser"
3432 "github.com/nektos/act/pkg/jobparser"
3533 "github.com/nektos/act/pkg/model"
3634)
@@ -318,7 +316,9 @@ func handleWorkflows(
318316 Status : actions_model .StatusWaiting ,
319317 }
320318
321- if err := evaluateExpressionsForRun (run , dwf ); err != nil {
319+ if runName , err := parseRunName (run , dwf ); err == nil {
320+ run .Title = runName
321+ } else {
322322 log .Error ("evaluateExpressionsForRun: %v" , err )
323323 continue
324324 }
@@ -517,9 +517,11 @@ func handleSchedules(
517517 run := & actions_model.ActionSchedule {
518518 Title : strings .SplitN (commit .CommitMessage , "\n " , 2 )[0 ],
519519 RepoID : input .Repo .ID ,
520+ Repo : input .Repo ,
520521 OwnerID : input .Repo .OwnerID ,
521522 WorkflowID : dwf .EntryName ,
522523 TriggerUserID : user_model .ActionsUserID ,
524+ TriggerUser : user_model .NewActionsUser (),
523525 Ref : ref ,
524526 CommitSHA : commit .ID .String (),
525527 Event : input .Event ,
@@ -528,8 +530,10 @@ func handleSchedules(
528530 Content : dwf .Content ,
529531 }
530532
531- if runName , err := parseRunNameFromDetectedWorkflow ( dwf ); err == nil {
533+ if runName , err := parseRunName ( run . ToActionRun (), dwf ); err == nil {
532534 run .Title = runName
535+ } else {
536+ log .Error ("ParseRunName: %v" , err )
533537 }
534538
535539 crons = append (crons , run )
@@ -571,55 +575,23 @@ func DetectAndHandleSchedules(ctx context.Context, repo *repo_model.Repository)
571575 return handleSchedules (ctx , scheduleWorkflows , commit , notifyInput , repo .DefaultBranch )
572576}
573577
574- func newExpressionEvaluatorForRun (r * actions_model.ActionRun ) ( * jobparser. ExpressionEvaluator , error ) {
578+ func parseRunName (r * actions_model.ActionRun , w * actions_module. DetectedWorkflow ) ( string , error ) {
575579 ghCtx := & model.GithubContext {}
576580 gitCtx := GenerateGiteaContext (r , nil )
577581
578582 gitCtxRaw , err := json .Marshal (gitCtx )
579583 if err != nil {
580584 log .Error ("NewInterpolatorForRun: %v" , err )
581- return nil , err
585+ return "" , err
582586 }
583587
584588 err = json .Unmarshal (gitCtxRaw , ghCtx )
585589 if err != nil {
586590 log .Error ("NewInterpolatorForRun: %v" , err )
587- return nil , err
588- }
589-
590- interp := exprparser .NewInterpeter (& exprparser.EvaluationEnvironment {Github : ghCtx }, exprparser.Config {})
591- ee := jobparser .NewExpressionEvaluator (interp )
592- return ee , nil
593- }
594-
595- func parseRunNameFromDetectedWorkflow (w * actions_module.DetectedWorkflow ) (string , error ) {
596- var data map [string ]any
597- var value string
598-
599- if err := yaml .Unmarshal (w .Content , & data ); err != nil {
600- log .Error ("parseRunNameFromDetectedWorkflow: %v" , err )
601591 return "" , err
602592 }
603593
604- if v , ok := data ["run-name" ]; ok {
605- value = v .(string )
606- } else {
607- return "" , fmt .Errorf ("run-name not found in workflow" )
608- }
609-
610- return value , nil
611- }
612-
613- func evaluateExpressionsForRun (r * actions_model.ActionRun , w * actions_module.DetectedWorkflow ) error {
614- if runName , err := parseRunNameFromDetectedWorkflow (w ); err == nil {
615- ee , err := newExpressionEvaluatorForRun (r )
616- if err != nil {
617- log .Error ("newExpressionEvaluatorForRun: %v" , err )
618- return err
619- }
620- r .Title = ee .Interpolate (runName )
621- } else {
622- log .Error ("parseRunNameFromDetectedWorkflow: %v" , err )
623- }
624- return nil
594+ title , _ := jobparser .ParseRunName (w .Content , jobparser .WithGitContext (ghCtx ))
595+ log .Info ("title: %s" , title )
596+ return title , nil
625597}
0 commit comments