Poll Gitlab until changes are available #3246
Merged
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
To address #3210 , poll the Gitlab
/changes
endpoint untilchanges_count
is no longer an empty string.changes_count
is one of several fields that changes type when Gitlab's eventual consistency resolves and merge request changes are returned in the response. It's the most relevant choice of field for #3210 which is concerned withClient.GetModifiedFiles()
.why
Recent backwards-incompatible changes in Gitlab's API break the workflow in Atlantis where the Gitlab client expects accurate values to be available immediately. Gitlab is documenting this change in behavior and not planning on reverting it, so Atlantis must adapt. Thankfully, experimentation shows that Gitlab returns accurate values after only a few seconds of waiting.
tests
docker buildx build --build-arg ATLANTIS_BASE_TAG_TYPE=debian -t atlantis:dev-debian-58e2552 .
references