dotnet / arcade-services

Arcade Engineering Services
MIT License
54 stars 74 forks source link

[Maestro++] Maestro updates AzDO PRs even if there is nothing to update #3232

Closed riarenas closed 1 month ago

riarenas commented 7 months ago

See subscription 7c376a68-9115-4ed5-fd9c-08db67726cb7 and PR https://dev.azure.com/dnceng/internal/_git/dotnet-helix-service/pullrequest/36550?_a=commits for an example of this. A new commit was added to the PR every day, but the build it was trying to update to had already been applied, so the duplicate commits are empty.

image

I think Maestro should skip updating a PR if the changes that it's bringing in have already been applied to the dependency update PR (I believe that's what happens for GitHub PRs already)

premun commented 2 months ago

This has also been reported by other teams, I think we should prioritize this

premun commented 1 month ago

Debugging notes

Example PR: https://dev.azure.com/dnceng/internal/_git/dotnet-helix-service/pullrequest/40767

Example queries:

traces
| where message contains "Updating Pull Request" and message contains "40767"

traces
| where operation_Id == "77d971553c6b1984031d6ca8e7e40810"

Seems like it says it found 1 required update but then maybe when it compares it with what's in the branch it does not check again.

premun commented 1 month ago

Okay, it doesn't seem fixed. There was a new empty commit

premun commented 1 month ago

Seems to only happen for Azure DevOps repositories

premun commented 1 month ago

Okay, this should be fixed now, please re-open if you see it happening again