forked from gitea/gitea
1
0
Fork 0

Fix schedule actions still running even if workflow disalbed (#26939)

Fix #26782
This commit is contained in:
Lunny Xiao 2023-09-07 10:25:46 +08:00 committed by GitHub
parent 1ee4882b88
commit d1dca38a2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 0 deletions

View File

@ -10,6 +10,7 @@ import (
actions_model "code.gitea.io/gitea/models/actions" actions_model "code.gitea.io/gitea/models/actions"
"code.gitea.io/gitea/models/db" "code.gitea.io/gitea/models/db"
"code.gitea.io/gitea/models/unit"
"code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/timeutil" "code.gitea.io/gitea/modules/timeutil"
webhook_module "code.gitea.io/gitea/modules/webhook" 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) 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 // Loop through each spec and create a schedule task for it
for _, row := range specs { for _, row := range specs {
// cancel running jobs if the event is push // 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 { if err := CreateScheduleTask(ctx, row.Schedule); err != nil {
log.Error("CreateScheduleTask: %v", err) log.Error("CreateScheduleTask: %v", err)
return err return err