feat: Add an option to discard PR approvals after a plan #5795
+218
−44
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
what
Adding a new feature to dismiss PR approvals after a plan is completed.
why
Right now Atlantis has the
--discard-approval-on-planoption which will dismiss all approvals before it starts planning. However, there's a race condition here where someone could come in and approve the PR while the plan is still running.Ideally, once the plan is finished, we dismiss any approvals that may have taken place, as they are all considered invalid since they did not have the plan available to review. This is what enabling this new flag does.
This has the added benefit of dismissing pre-mature approvals when a PR is first opened and Atlantis hasn't finished planning the initial plan. If anyone approves during this period, they'll have their approval dismissed once the plan is finally finished.
tests
I have added a few new test cases to test this new feature.
references
NA