Skip to content

Commit 4610ebe

Browse files
Adds SkipMerge to the rest of the job locations
1 parent 5ef06e7 commit 4610ebe

File tree

5 files changed

+68
-0
lines changed

5 files changed

+68
-0
lines changed

libs/ci/azure/azure.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -433,6 +433,9 @@ func ProcessAzureReposEvent(azureEvent interface{}, diggerConfig *digger_config2
433433
func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []digger_config2.Project, requestedProject *digger_config2.Project, workflows map[string]digger_config2.Workflow) ([]scheduler.Job, bool, error) {
434434
jobs := make([]scheduler.Job, 0)
435435
//&dependencyGraph, diggerProjectNamespace, parsedAzureContext.BaseUrl, parsedAzureContext.EventType, prNumber,
436+
437+
438+
436439
switch parseAzureContext.EventType {
437440
case AzurePrCreated, AzurePrUpdated, AzurePrReopened:
438441
for _, project := range impactedProjects {
@@ -441,6 +444,13 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
441444
return nil, false, fmt.Errorf("failed to find workflow digger_config '%s' for project '%s'", project.Workflow, project.Name)
442445
}
443446

447+
var skipMerge bool
448+
if workflow.Configuration != nil {
449+
skipMerge = workflow.Configuration.SkipMergeCheck
450+
} else {
451+
skipMerge = false
452+
}
453+
444454
prNumber := parseAzureContext.Event.(AzurePrEvent).Resource.PullRequestId
445455
stateEnvVars, commandEnvVars := digger_config2.CollectTerraformEnvConfig(workflow.EnvVars, true)
446456
StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project)
@@ -461,6 +471,7 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
461471
CommandEnvVars: commandEnvVars,
462472
StateEnvProvider: StateEnvProvider,
463473
CommandEnvProvider: CommandEnvProvider,
474+
SkipMergeCheck: skipMerge,
464475
})
465476
}
466477
return jobs, true, nil
@@ -471,6 +482,13 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
471482
return nil, false, fmt.Errorf("failed to find workflow digger_config '%s' for project '%s'", project.Workflow, project.Name)
472483
}
473484

485+
var skipMerge bool
486+
if workflow.Configuration != nil {
487+
skipMerge = workflow.Configuration.SkipMergeCheck
488+
} else {
489+
skipMerge = false
490+
}
491+
474492
prNumber := parseAzureContext.Event.(AzurePrEvent).Resource.PullRequestId
475493
stateEnvVars, commandEnvVars := digger_config2.CollectTerraformEnvConfig(workflow.EnvVars, true)
476494
StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project)
@@ -491,6 +509,7 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
491509
CommandEnvVars: commandEnvVars,
492510
StateEnvProvider: StateEnvProvider,
493511
CommandEnvProvider: CommandEnvProvider,
512+
SkipMergeCheck: skipMerge,
494513
})
495514
}
496515
return jobs, true, nil
@@ -502,6 +521,14 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
502521
if !ok {
503522
return nil, false, fmt.Errorf("failed to find workflow digger_config '%s' for project '%s'", project.Workflow, project.Name)
504523
}
524+
525+
var skipMerge bool
526+
if workflow.Configuration != nil {
527+
skipMerge = workflow.Configuration.SkipMergeCheck
528+
} else {
529+
skipMerge = false
530+
}
531+
505532
stateEnvVars, commandEnvVars := digger_config2.CollectTerraformEnvConfig(workflow.EnvVars, true)
506533
StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project)
507534
jobs = append(jobs, scheduler.Job{
@@ -521,6 +548,7 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
521548
CommandEnvVars: commandEnvVars,
522549
StateEnvProvider: StateEnvProvider,
523550
CommandEnvProvider: CommandEnvProvider,
551+
SkipMergeCheck: skipMerge,
524552
})
525553
}
526554
return jobs, true, nil
@@ -557,6 +585,14 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
557585
if !ok {
558586
return nil, false, fmt.Errorf("failed to find workflow digger_config '%s' for project '%s'", project.Workflow, project.Name)
559587
}
588+
589+
var skipMerge bool
590+
if workflow.Configuration != nil {
591+
skipMerge = workflow.Configuration.SkipMergeCheck
592+
} else {
593+
skipMerge = false
594+
}
595+
560596
stateEnvVars, commandEnvVars := digger_config2.CollectTerraformEnvConfig(workflow.EnvVars, true)
561597
StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project)
562598
jobs = append(jobs, scheduler.Job{
@@ -576,6 +612,7 @@ func ConvertAzureEventToCommands(parseAzureContext Azure, impactedProjects []dig
576612
CommandEnvVars: commandEnvVars,
577613
StateEnvProvider: StateEnvProvider,
578614
CommandEnvProvider: CommandEnvProvider,
615+
SkipMergeCheck: skipMerge,
579616
})
580617
}
581618
}

libs/ci/github/github.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,7 @@ func ConvertGithubPullRequestEventToJobs(payload *github.PullRequestEvent, impac
500500
RequestedBy: *payload.Sender.Login,
501501
CommandEnvProvider: CommandEnvProvider,
502502
StateEnvProvider: StateEnvProvider,
503+
SkipMergeCheck: skipMerge,
503504
})
504505
} else if *payload.Action == "closed" {
505506
jobs = append(jobs, scheduler.Job{
@@ -521,6 +522,7 @@ func ConvertGithubPullRequestEventToJobs(payload *github.PullRequestEvent, impac
521522
RequestedBy: *payload.Sender.Login,
522523
CommandEnvProvider: CommandEnvProvider,
523524
StateEnvProvider: StateEnvProvider,
525+
SkipMergeCheck: skipMerge,
524526
})
525527
} else if *payload.Action == "converted_to_draft" {
526528
var commands []string
@@ -549,6 +551,7 @@ func ConvertGithubPullRequestEventToJobs(payload *github.PullRequestEvent, impac
549551
RequestedBy: *payload.Sender.Login,
550552
CommandEnvProvider: CommandEnvProvider,
551553
StateEnvProvider: StateEnvProvider,
554+
SkipMergeCheck: skipMerge,
552555
})
553556
}
554557

libs/ci/gitlab/gitlab.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,13 @@ func ConvertGitLabEventToCommands(event GitLabEvent, gitLabContext *GitLabContex
357357
return nil, true, fmt.Errorf("failed to find workflow digger_config '%s' for project '%s'", project.Workflow, project.Name)
358358
}
359359

360+
var skipMerge bool
361+
if workflow.Configuration != nil {
362+
skipMerge = workflow.Configuration.SkipMergeCheck
363+
} else {
364+
skipMerge = false
365+
}
366+
360367
stateEnvVars, commandEnvVars := digger_config.CollectTerraformEnvConfig(workflow.EnvVars, true)
361368
StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project)
362369
jobs = append(jobs, scheduler.Job{
@@ -376,6 +383,7 @@ func ConvertGitLabEventToCommands(event GitLabEvent, gitLabContext *GitLabContex
376383
CommandEnvVars: commandEnvVars,
377384
StateEnvProvider: StateEnvProvider,
378385
CommandEnvProvider: CommandEnvProvider,
386+
SkipMergeCheck: skipMerge,
379387
})
380388
}
381389
return jobs, true, nil

libs/ci/gitlab/webhooks.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,14 @@ func ConvertGithubPullRequestEventToJobs(payload *gitlab.MergeEvent, impactedPro
5151
namespace := payload.Project.PathWithNamespace
5252
sender := payload.User.Username
5353

54+
55+
var skipMerge bool
56+
if workflow.Configuration != nil {
57+
skipMerge = workflow.Configuration.SkipMergeCheck
58+
} else {
59+
skipMerge = false
60+
}
61+
5462
StateEnvProvider, CommandEnvProvider := scheduler.GetStateAndCommandProviders(project)
5563
if payload.ObjectAttributes.Action == "merge" && payload.ObjectAttributes.TargetBranch == defaultBranch {
5664
jobs = append(jobs, scheduler.Job{
@@ -71,6 +79,7 @@ func ConvertGithubPullRequestEventToJobs(payload *gitlab.MergeEvent, impactedPro
7179
RequestedBy: sender,
7280
CommandEnvProvider: CommandEnvProvider,
7381
StateEnvProvider: StateEnvProvider,
82+
SkipMergeCheck: skipMerge,
7483
})
7584
} else if payload.ObjectAttributes.Action == "open" || payload.ObjectAttributes.Action == "reopen" || payload.ObjectAttributes.Action == "synchronize" {
7685
jobs = append(jobs, scheduler.Job{
@@ -92,6 +101,7 @@ func ConvertGithubPullRequestEventToJobs(payload *gitlab.MergeEvent, impactedPro
92101
RequestedBy: sender,
93102
CommandEnvProvider: CommandEnvProvider,
94103
StateEnvProvider: StateEnvProvider,
104+
SkipMergeCheck: skipMerge,
95105
})
96106
} else if payload.ObjectAttributes.Action == "close" {
97107
jobs = append(jobs, scheduler.Job{
@@ -113,6 +123,7 @@ func ConvertGithubPullRequestEventToJobs(payload *gitlab.MergeEvent, impactedPro
113123
RequestedBy: sender,
114124
CommandEnvProvider: CommandEnvProvider,
115125
StateEnvProvider: StateEnvProvider,
126+
SkipMergeCheck: skipMerge,
116127
})
117128
// TODO: Figure how to detect gitlab's "PR converted to draft" event
118129
} else if payload.ObjectAttributes.Action == "converted_to_draft" {
@@ -142,6 +153,7 @@ func ConvertGithubPullRequestEventToJobs(payload *gitlab.MergeEvent, impactedPro
142153
RequestedBy: sender,
143154
CommandEnvProvider: CommandEnvProvider,
144155
StateEnvProvider: StateEnvProvider,
156+
SkipMergeCheck: skipMerge,
145157
})
146158
}
147159

libs/scheduler/convert.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ func ConvertProjectsToJobs(actor string, repoNamespace string, command string, p
1616
return nil, true, fmt.Errorf("failed to find workflow digger_config '%s' for project '%s'", project.Workflow, project.Name)
1717
}
1818

19+
var skipMerge bool
20+
if workflow.Configuration != nil {
21+
skipMerge = workflow.Configuration.SkipMergeCheck
22+
} else {
23+
skipMerge = false
24+
}
25+
1926
stateEnvVars, commandEnvVars := digger_config.CollectTerraformEnvConfig(workflow.EnvVars, false)
2027
StateEnvProvider, CommandEnvProvider := GetStateAndCommandProviders(project)
2128
jobs = append(jobs, Job{
@@ -37,6 +44,7 @@ func ConvertProjectsToJobs(actor string, repoNamespace string, command string, p
3744
CommandEnvVars: commandEnvVars,
3845
StateEnvProvider: StateEnvProvider,
3946
CommandEnvProvider: CommandEnvProvider,
47+
SkipMergeCheck: skipMerge,
4048
})
4149
}
4250
return jobs, true, nil

0 commit comments

Comments
 (0)