summaryrefslogtreecommitdiffstats
path: root/services/actions
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-09-07 04:25:46 +0200
committerGitHub <noreply@github.com>2023-09-07 04:25:46 +0200
commitd1dca38a2a92f59c7fd071f1f348caa264f18c62 (patch)
treed56da99b58afc424c7adeeb1bd43b6334fcf65ba /services/actions
parentFix the missing repo count (#26942) (diff)
downloadforgejo-d1dca38a2a92f59c7fd071f1f348caa264f18c62.tar.xz
forgejo-d1dca38a2a92f59c7fd071f1f348caa264f18c62.zip
Fix schedule actions still running even if workflow disalbed (#26939)
Fix #26782
Diffstat (limited to 'services/actions')
-rw-r--r--services/actions/schedule_tasks.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/services/actions/schedule_tasks.go b/services/actions/schedule_tasks.go
index 87131e0aab..12227377ab 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