From 757a4c45837744561773147f7857bc42a4d290c5 Mon Sep 17 00:00:00 2001 From: Steven Guiheux Date: Mon, 20 Jan 2025 13:48:00 +0000 Subject: [PATCH] fix(api): load plugins for job template jobs check --- engine/api/v2_workflow_run_engine.go | 12 ++++++++++++ tests/08_v2_workflow_job_template_with_stage.yml | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/engine/api/v2_workflow_run_engine.go b/engine/api/v2_workflow_run_engine.go index b6b330a735..4872c9e2fe 100644 --- a/engine/api/v2_workflow_run_engine.go +++ b/engine/api/v2_workflow_run_engine.go @@ -20,6 +20,7 @@ import ( "github.com/ovh/cds/engine/api/authentication" "github.com/ovh/cds/engine/api/event_v2" "github.com/ovh/cds/engine/api/group" + "github.com/ovh/cds/engine/api/plugin" "github.com/ovh/cds/engine/api/project" "github.com/ovh/cds/engine/api/rbac" "github.com/ovh/cds/engine/api/region" @@ -264,6 +265,14 @@ func (api *API) workflowRunV2Trigger(ctx context.Context, wrEnqueue sdk.V2Workfl wref.ef.repoCache[vcsServer.Name+"/"+repo.Name] = *repo wref.ef.vcsServerCache[vcsServer.Name] = *vcsServer + plugins, err := plugin.LoadAllByType(ctx, api.mustDB(), sdk.GRPCPluginAction) + if err != nil { + return err + } + for _, p := range plugins { + wref.ef.plugins[p.Name] = p + } + // Enqueue JOB hasTemplatedMatrixedJob := false for _, j := range jobsToQueue { @@ -967,6 +976,9 @@ func prepareRunJobs(ctx context.Context, db *gorp.DbMap, store cache.Store, proj RunNumber: run.RunNumber, RunAttempt: run.RunAttempt, } + if jobToTrigger.Status.IsTerminated() { + runJob.Status = jobToTrigger.Status + } runJobs = append(runJobs, runJob) continue } diff --git a/tests/08_v2_workflow_job_template_with_stage.yml b/tests/08_v2_workflow_job_template_with_stage.yml index 54487aa3f7..0b0beae687 100644 --- a/tests/08_v2_workflow_job_template_with_stage.yml +++ b/tests/08_v2_workflow_job_template_with_stage.yml @@ -72,7 +72,7 @@ testcases: stage: stage-[[.params.region]] runs-on: "{{.worker_model}}" steps: - - run: echo "Inside test_1" + - uses: actions/checkout job2_[[.params.region]]: stage: stage-[[.params.region]] runs-on: "{{.worker_model}}"