Skip to content

Commit fee108c

Browse files
authored
fix environment interpolation during comment ops (#2131)
1 parent 630db4b commit fee108c

File tree

9 files changed

+19
-19
lines changed

9 files changed

+19
-19
lines changed

backend/controllers/github_comment.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ func handleIssueCommentEvent(gh utils.GithubClientProvider, payload *github.Issu
255255
"allImpactedProjectsCount", len(allImpactedProjects),
256256
)
257257

258-
jobs, coverAllImpactedProjects, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjectsForComment, allImpactedProjects, config.Workflows, prBranchName, defaultBranch)
258+
jobs, coverAllImpactedProjects, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjectsForComment, allImpactedProjects, config.Workflows, prBranchName, defaultBranch, false)
259259
if err != nil {
260260
slog.Error("Error converting event to jobs",
261261
"issueNumber", issueNumber,

cli/cmd/digger/main_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -930,7 +930,7 @@ func TestGitHubNewCommentContext(t *testing.T) {
930930
policyChecker := policy.MockPolicyChecker{}
931931
backendApi := backendapi.MockBackendApi{}
932932

933-
jobs, _, err := generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, map[string]configuration.Workflow{}, "prbranch", "")
933+
jobs, _, err := generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, map[string]configuration.Workflow{}, "prbranch", "", false)
934934
_, _, err = digger.RunJobs(jobs, &prManager, prManager, lock, reporter, &planStorage, policyChecker, comment_updater.NoopCommentUpdater{}, backendApi, "123", false, false, "1", "")
935935
assert.NoError(t, err)
936936
if err != nil {
@@ -1022,7 +1022,7 @@ func TestGitHubTestPRCommandCaseInsensitivity(t *testing.T) {
10221022
impactedProjects[0] = project
10231023
workflows := make(map[string]configuration.Workflow, 1)
10241024
workflows["default"] = configuration.Workflow{}
1025-
jobs, _, err := generic.ConvertIssueCommentEventToJobs("", "", 0, "digger plan", impactedProjects, impactedProjects, workflows, "prbranch", "main")
1025+
jobs, _, err := generic.ConvertIssueCommentEventToJobs("", "", 0, "digger plan", impactedProjects, impactedProjects, workflows, "prbranch", "main", false)
10261026

10271027
assert.Equal(t, 1, len(jobs))
10281028
assert.Equal(t, "digger plan", jobs[0].Commands[0])

cli/pkg/github/github.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,7 +316,7 @@ func GitHubCI(lock core_locking.Lock, policyCheckerProvider core_policy.PolicyCh
316316
} else {
317317
impactedProjectsForEvent = impactedProjects
318318
}
319-
jobs, coversAllImpactedProjects, err = generic.ConvertIssueCommentEventToJobs(repoFullName, requestedBy, prNumber, commentBody, impactedProjectsForEvent, impactedProjects, diggerConfig.Workflows, prBranchName, defaultBranch)
319+
jobs, coversAllImpactedProjects, err = generic.ConvertIssueCommentEventToJobs(repoFullName, requestedBy, prNumber, commentBody, impactedProjectsForEvent, impactedProjects, diggerConfig.Workflows, prBranchName, defaultBranch, true)
320320
} else {
321321
usage.ReportErrorAndExit(githubActor, fmt.Sprintf("Unsupported GitHub event type. %s", err), 6)
322322
}

cli/pkg/integration/integration_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,7 @@ func TestHappyPath(t *testing.T) {
453453
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
454454
assert.NoError(t, err)
455455

456-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
456+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
457457
assert.NoError(t, err)
458458
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, lock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
459459
assert.NoError(t, err)
@@ -476,7 +476,7 @@ func TestHappyPath(t *testing.T) {
476476

477477
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
478478
assert.NoError(t, err)
479-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
479+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
480480
assert.NoError(t, err)
481481
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, lock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
482482
assert.NoError(t, err)
@@ -590,7 +590,7 @@ func TestMultiEnvHappyPath(t *testing.T) {
590590
// 'digger plan' comment should trigger terraform execution
591591
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
592592
assert.NoError(t, err)
593-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
593+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
594594
assert.NoError(t, err)
595595
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, &dynamoDbLock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
596596
assert.NoError(t, err)
@@ -603,7 +603,7 @@ func TestMultiEnvHappyPath(t *testing.T) {
603603
// 'digger apply' comment should trigger terraform execution and unlock the project
604604
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
605605
assert.NoError(t, err)
606-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
606+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
607607
assert.NoError(t, err)
608608
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, &dynamoDbLock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
609609
assert.NoError(t, err)
@@ -626,7 +626,7 @@ func TestMultiEnvHappyPath(t *testing.T) {
626626

627627
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
628628
assert.NoError(t, err)
629-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
629+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
630630
assert.NoError(t, err)
631631
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, &dynamoDbLock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
632632
assert.NoError(t, err)
@@ -809,7 +809,7 @@ workflows:
809809
// 'digger plan' comment should trigger terraform execution
810810
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
811811
assert.NoError(t, err)
812-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
812+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
813813
assert.NoError(t, err)
814814
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, lock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
815815
assert.NoError(t, err)
@@ -822,7 +822,7 @@ workflows:
822822
// 'digger apply' comment should trigger terraform execution and unlock the project
823823
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
824824
assert.NoError(t, err)
825-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
825+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
826826
assert.NoError(t, err)
827827
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, lock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
828828
assert.NoError(t, err)
@@ -844,7 +844,7 @@ workflows:
844844

845845
impactedProjects, requestedProject, prNumber, err = dg_github.ProcessGitHubEvent(ghEvent, diggerConfig, &githubPrService)
846846
assert.NoError(t, err)
847-
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main")
847+
jobs, _, err = generic.ConvertIssueCommentEventToJobs("", "", 0, "", impactedProjects, impactedProjects, diggerConfig.Workflows, "prBranch", "main", false)
848848
assert.NoError(t, err)
849849
_, _, err = digger.RunJobs(jobs, &githubPrService, &githubPrService, lock, reporter, planStorage, nil, comment_updater.NoopCommentUpdater{}, nil, "", false, false, "123", dir)
850850
assert.NoError(t, err)

ee/backend/controllers/bitbucket.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ func handleIssueCommentEventBB(bitbucketProvider utils.BitbucketProvider, payloa
261261
return nil
262262
}
263263

264-
jobs, _, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjectsForComment, allImpactedProjects, config.Workflows, prBranchName, defaultBranch)
264+
jobs, _, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjectsForComment, allImpactedProjects, config.Workflows, prBranchName, defaultBranch, false)
265265
if err != nil {
266266
log.Printf("Error converting event to jobs: %v", err)
267267
utils.InitCommentReporter(bbService, issueNumber, fmt.Sprintf(":x: Error converting event to jobs: %v", err))

ee/backend/controllers/gitlab.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,7 @@ func handleIssueCommentEvent(gitlabProvider utils.GitlabProvider, payload *gitla
446446
return nil
447447
}
448448

449-
jobs, coverAllImpactedProjects, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjectsForComment, allImpactedProjects, config.Workflows, prBranchName, defaultBranch)
449+
jobs, coverAllImpactedProjects, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjectsForComment, allImpactedProjects, config.Workflows, prBranchName, defaultBranch, false)
450450
if err != nil {
451451
log.Printf("Error converting event to jobs: %v", err)
452452
utils.InitCommentReporter(glService, issueNumber, fmt.Sprintf(":x: Error converting event to jobs: %v", err))

ee/backend/hooks/github.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ var DriftReconcilliationHook ce_controllers.IssueCommentHook = func(gh utils.Git
121121
}
122122

123123
impactedProjects := config.GetProjects(projectName)
124-
jobs, coverAllImpactedProjects, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjects, nil, config.Workflows, defaultBranch, defaultBranch)
124+
jobs, coverAllImpactedProjects, err := generic.ConvertIssueCommentEventToJobs(repoFullName, actor, issueNumber, commentBody, impactedProjects, nil, config.Workflows, defaultBranch, defaultBranch, false)
125125
if err != nil {
126126
log.Printf("Error converting event to jobs: %v", err)
127127
utils.InitCommentReporter(ghService, issueNumber, fmt.Sprintf(":x: Error converting event to jobs: %v", err))

ee/cli/cmd/digger/main_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,7 @@ func TestGitHubNewCommentContext(t *testing.T) {
935935
policyChecker := policy.MockPolicyChecker{}
936936
backendApi := backendapi.MockBackendApi{}
937937

938-
jobs, _, err := generic.ConvertIssueCommentEventToJobs("", "", 0, "digger plan", impactedProjects, impactedProjects, map[string]configuration.Workflow{}, "prbranch", "main")
938+
jobs, _, err := generic.ConvertIssueCommentEventToJobs("", "", 0, "digger plan", impactedProjects, impactedProjects, map[string]configuration.Workflow{}, "prbranch", "main", false)
939939
assert.NoError(t, err)
940940
_, _, err = digger.RunJobs(jobs, &prManager, prManager, lock, reporter, &planStorage, policyChecker, comment_updater.NoopCommentUpdater{}, backendApi, "123", false, false, "1", "")
941941
assert.NoError(t, err)
@@ -1031,7 +1031,7 @@ func TestGitHubTestPRCommandCaseInsensitivity(t *testing.T) {
10311031
impactedProjects[0] = project
10321032
workflows := make(map[string]configuration.Workflow, 1)
10331033
workflows["default"] = configuration.Workflow{}
1034-
jobs, _, err := generic.ConvertIssueCommentEventToJobs(*repo.FullName, *user.Login, *issue.Number, "digger plan", impactedProjects, impactedProjects, workflows, "prbranch", "main")
1034+
jobs, _, err := generic.ConvertIssueCommentEventToJobs(*repo.FullName, *user.Login, *issue.Number, "digger plan", impactedProjects, impactedProjects, workflows, "prbranch", "main", false)
10351035

10361036
assert.Equal(t, 1, len(jobs))
10371037
assert.Equal(t, "digger plan", jobs[0].Commands[0])

libs/ci/generic/events.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ func FindAllProjectsDependantOnImpactedProjects(impactedProjects []digger_config
9999
return impactedProjectsWithDependantProjects, nil
100100
}
101101

102-
func ConvertIssueCommentEventToJobs(repoFullName string, requestedBy string, prNumber int, commentBody string, impactedProjectsForComment []digger_config.Project, allImpactedProjects []digger_config.Project, workflows map[string]digger_config.Workflow, prBranchName string, defaultBranch string) ([]scheduler.Job, bool, error) {
102+
func ConvertIssueCommentEventToJobs(repoFullName string, requestedBy string, prNumber int, commentBody string, impactedProjectsForComment []digger_config.Project, allImpactedProjects []digger_config.Project, workflows map[string]digger_config.Workflow, prBranchName string, defaultBranch string, performEnvVarInterpolation bool) ([]scheduler.Job, bool, error) {
103103
jobs := make([]scheduler.Job, 0)
104104
prBranch := prBranchName
105105

@@ -125,7 +125,7 @@ func ConvertIssueCommentEventToJobs(repoFullName string, requestedBy string, prN
125125
return nil, false, fmt.Errorf("command is not supported: %v", diggerCommand)
126126
}
127127

128-
jobs, err := CreateJobsForProjects(runForProjects, commandToRun, "issue_comment", repoFullName, requestedBy, workflows, &prNumber, nil, defaultBranch, prBranch, true)
128+
jobs, err := CreateJobsForProjects(runForProjects, commandToRun, "issue_comment", repoFullName, requestedBy, workflows, &prNumber, nil, defaultBranch, prBranch, performEnvVarInterpolation)
129129
if err != nil {
130130
return nil, false, err
131131
}

0 commit comments

Comments
 (0)