Skip to content

Commit 353a7d2

Browse files
committed
feat(layers): do not run plan/apply without a LastRelevantCommit
1 parent fb38179 commit 353a7d2

File tree

2 files changed

+6
-43
lines changed

2 files changed

+6
-43
lines changed

internal/controllers/terraformlayer/states.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,10 @@ func (s *PlanNeeded) getHandler() Handler {
6565
if isActionBlocked(r, layer, repository, syncwindow.PlanAction) {
6666
return ctrl.Result{RequeueAfter: r.Config.Controller.Timers.WaitAction}, nil
6767
}
68-
// TODO: use relevant commit instead of last commit when repo controller will set it
69-
revision, ok := layer.Annotations[annotations.LastBranchCommit]
68+
revision, ok := layer.Annotations[annotations.LastRelevantCommit]
7069
if !ok {
71-
r.Recorder.Event(layer, corev1.EventTypeWarning, "Reconciliation", "Layer has no last branch commit annotation, Plan run not created")
72-
log.Errorf("layer %s has no last branch commit annotation, run not created", layer.Name)
70+
r.Recorder.Event(layer, corev1.EventTypeWarning, "Reconciliation", "Layer has no last relevant commit annotation, Plan run not created")
71+
log.Errorf("layer %s has no last relevant commit annotation, run not created", layer.Name)
7372
return ctrl.Result{RequeueAfter: r.Config.Controller.Timers.OnError}, nil
7473
}
7574
run := r.getRun(layer, revision, PlanAction)
@@ -98,11 +97,10 @@ func (s *ApplyNeeded) getHandler() Handler {
9897
if isActionBlocked(r, layer, repository, syncwindow.ApplyAction) {
9998
return ctrl.Result{RequeueAfter: r.Config.Controller.Timers.WaitAction}, nil
10099
}
101-
// TODO: use relevant commit instead of last commit when repo controller will set it
102-
revision, ok := layer.Annotations[annotations.LastBranchCommit]
100+
revision, ok := layer.Annotations[annotations.LastRelevantCommit]
103101
if !ok {
104-
r.Recorder.Event(layer, corev1.EventTypeWarning, "Reconciliation", "Layer has no last branch commit annotation, Apply run not created")
105-
log.Errorf("layer %s has no last branch commit annotation, run not created", layer.Name)
102+
r.Recorder.Event(layer, corev1.EventTypeWarning, "Reconciliation", "Layer has no last relevant commit annotation, Apply run not created")
103+
log.Errorf("layer %s has no last relevant commit annotation, run not created", layer.Name)
106104
return ctrl.Result{RequeueAfter: r.Config.Controller.Timers.OnError}, nil
107105
}
108106
run := r.getRun(layer, revision, ApplyAction)

internal/webhook/event/push.go

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import (
66

77
configv1alpha1 "github.com/padok-team/burrito/api/v1alpha1"
88
"github.com/padok-team/burrito/internal/annotations"
9-
controller "github.com/padok-team/burrito/internal/controllers/terraformlayer"
109
utils "github.com/padok-team/burrito/internal/utils/url"
1110
log "github.com/sirupsen/logrus"
1211

@@ -54,30 +53,6 @@ func (e *PushEvent) Handle(c client.Client) error {
5453
}
5554
}
5655

57-
// TODO: Remove this loop once the repo controller implements the same behavior
58-
for _, layer := range e.getAffectedLayers(layers.Items, affectedRepositories) {
59-
ann := map[string]string{}
60-
log.Printf("evaluating TerraformLayer %s for revision %s", layer.Name, e.Reference)
61-
if layer.Spec.Branch != e.Reference {
62-
log.Infof("branch %s for TerraformLayer %s not matching revision %s", layer.Spec.Branch, layer.Name, e.Reference)
63-
continue
64-
}
65-
ann[annotations.LastBranchCommit] = e.ChangeInfo.ShaAfter
66-
ann[annotations.LastBranchCommitDate] = date
67-
68-
if controller.LayerFilesHaveChanged(layer, e.Changes) {
69-
log.Infof("layer %s is affected by push event", layer.Name)
70-
ann[annotations.LastRelevantCommit] = e.ChangeInfo.ShaAfter
71-
ann[annotations.LastRelevantCommitDate] = date
72-
}
73-
74-
err := annotations.Add(context.TODO(), c, &layer, ann)
75-
if err != nil {
76-
log.Errorf("could not add annotation to TerraformLayer %s", err)
77-
return err
78-
}
79-
}
80-
8156
// TODO: Remove this loop once the repo controller implements the same behavior
8257
for _, pr := range e.getAffectedPullRequests(prs.Items, affectedRepositories) {
8358
ann := map[string]string{}
@@ -104,16 +79,6 @@ func (e *PushEvent) getAffectedRepositories(repositories []configv1alpha1.Terraf
10479
return affectedRepositories
10580
}
10681

107-
func (e *PushEvent) getAffectedLayers(allLayers []configv1alpha1.TerraformLayer, affectedRepositories []configv1alpha1.TerraformRepository) []configv1alpha1.TerraformLayer {
108-
layers := []configv1alpha1.TerraformLayer{}
109-
for _, layer := range allLayers {
110-
if isLayerLinkedToAnyRepositories(affectedRepositories, layer) {
111-
layers = append(layers, layer)
112-
}
113-
}
114-
return layers
115-
}
116-
11782
func (e *PushEvent) getAffectedPullRequests(prs []configv1alpha1.TerraformPullRequest, affectedRepositories []configv1alpha1.TerraformRepository) []configv1alpha1.TerraformPullRequest {
11883
affectedPRs := []configv1alpha1.TerraformPullRequest{}
11984
for _, pr := range prs {

0 commit comments

Comments
 (0)