Skip to content

Conversation

@ajax-ryzhyi-r
Copy link
Contributor

what

This PR modifies the evaluation logic for statusContexts and checkRuns by iterating from the end of the arrays instead of the beginning.

why

There is an issue described in detail in #5048 where Atlantis still treats a PR as unmergeable after successfully rerunning failed required checks. It responds with the error Apply Failed: Pull request must be mergeable before running apply. when attempting to use the atlantis apply command.

Upon investigating this issue, I discovered that GitHub returns all statusContexts/checkRuns in chronological order when Atlantis retrieves a pull request's last commit mergeability status. However, Atlantis iterates through these statusContexts/checkRuns and retrieves the first statusContext/checkRun instead of the last one, which represents the current status.

tests

  • I have tested my changes by running this fix in our Atlantis setup and everything works as expected
  • I have updated automated tests to cover these cases

references

Fixes #5048

@ajax-ryzhyi-r ajax-ryzhyi-r requested review from a team as code owners November 2, 2024 19:21
@ajax-ryzhyi-r ajax-ryzhyi-r requested review from chenrui333, lukemassa and nitrocode and removed request for a team November 2, 2024 19:21
@github-actions github-actions bot added go Pull requests that update Go code provider/github labels Nov 2, 2024
@dosubot dosubot bot added the bug Something isn't working label Nov 2, 2024
@ajax-ryzhyi-r ajax-ryzhyi-r changed the title Fix GitHub pull request mergeability for rerun checks fix: Fix GitHub pull request mergeability for rerun checks Nov 2, 2024
@ajax-ryzhyi-r ajax-ryzhyi-r force-pushed the github-mergeability-fix branch from 325dda2 to a71df4d Compare November 3, 2024 19:32
@github-actions github-actions bot added build Relating to how we build Atlantis docs Documentation dependencies PRs that update a dependency file github-actions labels Nov 3, 2024
@ajax-ryzhyi-r ajax-ryzhyi-r force-pushed the github-mergeability-fix branch 2 times, most recently from 53ae7d2 to 325dda2 Compare November 3, 2024 19:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working build Relating to how we build Atlantis dependencies PRs that update a dependency file docs Documentation github-actions go Pull requests that update Go code provider/github

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unclearable locks with mergeability requirements after upgrade

2 participants