From cdfa37c804633389bd6c2a9dda636f913b7c4ce8 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Wed, 6 Sep 2023 18:04:45 +0800 Subject: [PATCH] Fix schedule actions still running even if workflow disalbed --- services/actions/schedule_tasks.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/services/actions/schedule_tasks.go b/services/actions/schedule_tasks.go index 87131e0aab3cf..12227377ab25b 100644 --- a/services/actions/schedule_tasks.go +++ b/services/actions/schedule_tasks.go @@ -10,6 +10,7 @@ import ( actions_model "code.gitea.io/gitea/models/actions" "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/unit" "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/timeutil" webhook_module "code.gitea.io/gitea/modules/webhook" @@ -44,6 +45,10 @@ func startTasks(ctx context.Context) error { return fmt.Errorf("find specs: %w", err) } + if err := specs.LoadRepos(); err != nil { + return fmt.Errorf("LoadRepos: %w", err) + } + // Loop through each spec and create a schedule task for it for _, row := range specs { // cancel running jobs if the event is push @@ -59,6 +64,11 @@ func startTasks(ctx context.Context) error { } } + cfg := row.Repo.MustGetUnit(ctx, unit.TypeActions).ActionsConfig() + if cfg.IsWorkflowDisabled(row.Schedule.WorkflowID) { + continue + } + if err := CreateScheduleTask(ctx, row.Schedule); err != nil { log.Error("CreateScheduleTask: %v", err) return err