From 7deabf0b5ed958526064be735c821fc5cfda6361 Mon Sep 17 00:00:00 2001 From: Mohamed Habib Date: Tue, 4 Feb 2025 10:48:40 -0800 Subject: [PATCH] fix env variable interpolation for backendless mode (#1880) interpolation was not performed during issue comment event, we fix this in thie PR --- ee/backend/controllers/spec.go | 2 +- ee/drift/controllers/drift.go | 6 +++--- libs/ci/generic/events.go | 10 +++++----- next/controllers/github_after_merge.go | 4 ++-- next/services/scheduler.go | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ee/backend/controllers/spec.go b/ee/backend/controllers/spec.go index 399246b18..929ae5a06 100644 --- a/ee/backend/controllers/spec.go +++ b/ee/backend/controllers/spec.go @@ -54,7 +54,7 @@ func (d DiggerEEController) GetSpec(c *gin.Context) { workflowFile := project.WorkflowFile - jobs, err := generic.CreateJobsForProjects([]digger_config.Project{project}, command, "manual", repoFullName, actor, config.Workflows, &issueNumber, &commitSha, "", "") + jobs, err := generic.CreateJobsForProjects([]digger_config.Project{project}, command, "manual", repoFullName, actor, config.Workflows, &issueNumber, &commitSha, "", "", false) if err != nil { log.Printf("could not create jobs based on project: %v", err) c.String(500, fmt.Sprintf("could not create jobs based on project: %v", err)) diff --git a/ee/drift/controllers/drift.go b/ee/drift/controllers/drift.go index 6352bb30b..9ca418f62 100644 --- a/ee/drift/controllers/drift.go +++ b/ee/drift/controllers/drift.go @@ -88,7 +88,7 @@ func (mc MainController) TriggerDriftRunForProject(c *gin.Context) { } projects := []dg_configuration.Project{*theProject} - jobsForImpactedProjects, err := generic.CreateJobsForProjects(projects, command, "drift", repoFullName, "digger", config.Workflows, &issueNumber, nil, branch, branch) + jobsForImpactedProjects, err := generic.CreateJobsForProjects(projects, command, "drift", repoFullName, "digger", config.Workflows, &issueNumber, nil, branch, branch, false) if err != nil { log.Printf("error converting digger project %v to job", project.Name, err) c.JSON(http.StatusInternalServerError, gin.H{"error": fmt.Sprintf("could not find project %v in digger.yml", theProject)}) @@ -207,14 +207,14 @@ func (mc MainController) ProcessAllDrift(c *gin.Context) { } if matches { - log.Printf("Crontab matched for org: %v %v", orgSetting.OrgID, cron); + log.Printf("Crontab matched for org: %v %v", orgSetting.OrgID, cron) err := sendProcessDriftForOrgRequest(orgSetting.OrgID) if err != nil { log.Printf("Failed to send request to process drift for org: %v", orgSetting.OrgID) continue } } else { - log.Printf("Crontab ignored for org: %v %v", orgSetting.OrgID, cron); + log.Printf("Crontab ignored for org: %v %v", orgSetting.OrgID, cron) } } diff --git a/libs/ci/generic/events.go b/libs/ci/generic/events.go index 54b19b161..1ef6aaef7 100644 --- a/libs/ci/generic/events.go +++ b/libs/ci/generic/events.go @@ -129,7 +129,7 @@ func ConvertIssueCommentEventToJobs(repoFullName string, requestedBy string, prN return nil, false, fmt.Errorf("command is not supported: %v", diggerCommand) } - jobs, err := CreateJobsForProjects(runForProjects, commandToRun, "issue_comment", repoFullName, requestedBy, workflows, &prNumber, nil, defaultBranch, prBranch) + jobs, err := CreateJobsForProjects(runForProjects, commandToRun, "issue_comment", repoFullName, requestedBy, workflows, &prNumber, nil, defaultBranch, prBranch, true) if err != nil { return nil, false, err } @@ -138,7 +138,7 @@ func ConvertIssueCommentEventToJobs(repoFullName string, requestedBy string, prN } -func CreateJobsForProjects(projects []digger_config.Project, command string, event string, repoFullName string, requestedBy string, workflows map[string]digger_config.Workflow, issueNumber *int, commitSha *string, defaultBranch string, prBranch string) ([]scheduler.Job, error) { +func CreateJobsForProjects(projects []digger_config.Project, command string, event string, repoFullName string, requestedBy string, workflows map[string]digger_config.Workflow, issueNumber *int, commitSha *string, defaultBranch string, prBranch string, performEnvVarsInterpolations bool) ([]scheduler.Job, error) { jobs := make([]scheduler.Job, 0) for _, project := range projects { @@ -166,7 +166,7 @@ func CreateJobsForProjects(projects []digger_config.Project, command string, eve } runEnvVars := GetRunEnvVars(defaultBranch, prBranch, project.Name, project.Dir) - stateEnvVars, commandEnvVars := digger_config.CollectTerraformEnvConfig(workflow.EnvVars, false) + stateEnvVars, commandEnvVars := digger_config.CollectTerraformEnvConfig(workflow.EnvVars, performEnvVarsInterpolations) StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project) workspace := project.Workspace jobs = append(jobs, scheduler.Job{ @@ -189,8 +189,8 @@ func CreateJobsForProjects(projects []digger_config.Project, command string, eve RequestedBy: requestedBy, StateEnvProvider: StateEnvProvider, CommandEnvProvider: CommandEnvProvider, - CommandRoleArn: cmdRole, - StateRoleArn: stateRole, + CommandRoleArn: cmdRole, + StateRoleArn: stateRole, CognitoOidcConfig: project.AwsCognitoOidcConfig, SkipMergeCheck: skipMerge, }) diff --git a/next/controllers/github_after_merge.go b/next/controllers/github_after_merge.go index 12aeacef8..41f82a527 100644 --- a/next/controllers/github_after_merge.go +++ b/next/controllers/github_after_merge.go @@ -100,13 +100,13 @@ func handlePushEventApplyAfterMerge(gh nextutils.GithubClientProvider, payload * // TODO: find a way to set the right PR branch issueNumber := 0 - planJobs, err := generic.CreateJobsForProjects(impactedProjects, "digger plan", "push", repoFullName, requestedBy, config.Workflows, &issueNumber, &commitId, targetBranch, targetBranch) + planJobs, err := generic.CreateJobsForProjects(impactedProjects, "digger plan", "push", repoFullName, requestedBy, config.Workflows, &issueNumber, &commitId, targetBranch, targetBranch, false) if err != nil { log.Printf("Error creating jobs: %v", err) return fmt.Errorf("error creating jobs") } - applyJobs, err := generic.CreateJobsForProjects(impactedProjects, "digger apply", "push", repoFullName, requestedBy, config.Workflows, &issueNumber, &commitId, targetBranch, targetBranch) + applyJobs, err := generic.CreateJobsForProjects(impactedProjects, "digger apply", "push", repoFullName, requestedBy, config.Workflows, &issueNumber, &commitId, targetBranch, targetBranch, false) if err != nil { log.Printf("Error creating jobs: %v", err) return fmt.Errorf("error creating jobs") diff --git a/next/services/scheduler.go b/next/services/scheduler.go index feb4d6e71..c97fe4e6c 100644 --- a/next/services/scheduler.go +++ b/next/services/scheduler.go @@ -169,7 +169,7 @@ func CreateJobAndBatchForProjectFromBranch(gh utils.GithubClientProvider, projec issueNumber := 0 - jobs, err := generic.CreateJobsForProjects(dgprojects, command, string(event), repoFullName, "digger", config.Workflows, &issueNumber, nil, branch, branch) + jobs, err := generic.CreateJobsForProjects(dgprojects, command, string(event), repoFullName, "digger", config.Workflows, &issueNumber, nil, branch, branch, false) if err != nil { log.Printf("Error creating jobs: %v", err) return nil, nil, fmt.Errorf("error creating jobs: %v", err)