-
Notifications
You must be signed in to change notification settings - Fork 431
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrap More in Retry Logic #1544
Labels
Comments
I think the best option is to add a parameter so you can pick a pull or a rebase, leaving pull as the default so it is not a breaking change for other uses. I will try to get that out this week |
Works like a dream. Thanks for the quick turnaround! |
Wow, that's great news. I had expected more would be needed. A nice surprise for Monday |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Azure DevOps Extensions
WIKI Updater
Platform
Azure DevOps Services
Azure DevOps Server (TFS) Version
No response
Extension Version
No response
Describe the bug
We have quite a concurrent pipeline with a single build/test followed by a large set of deployment stages running in parallel. Part of the deployment stages we use the Release Notes Generator task followed by the WikiUpdater task.
Because these deployments are happening in parallel occasionally we hit the scenario where two WikiUpdater tasks are running around the same time on the same wiki repo.
One of the tasks succeeds but the other fails with:
Looking at the code - the retry is around only the git push command - but because the remote repo has been updated by a parallel task it is the pull which is failing. I think this could be fixed by using a
rebase
rather thanpull
when iterating through the retries.The line in question is:
AzurePipelines/Extensions/WikiUpdater/WikiUpdaterTask/src/GitWikiFuntions.ts
Line 320 in 70073f5
Repo Steps
Run tasks in parallel against the same wiki repo
Expected Behavior
All parallel tasks complete (albeit with possibly retries)
Logging Information
Cloned dev.azure.com///_git/release_notes to /home/vsts/work/1/s\repo
Set GIT values in /home/vsts/work/1/s\repo
Pull in case of post clone updates from other users
Working file name is __latest.md
Created the '__latest.md' in '/home/vsts/work/1/s\repo/SIT/SFI' - fixing line-endings
Added SIT/SFI/__latest.md to repo /home/vsts/work/1/s\repo
Committed file "/home/vsts/work/1/s\repo" with message "SFI SIT Release notes from build [60243]" as SHA 81f8e9f
Attempt 1 - Push to dev.azure.com///_git/release_notes
Push failed, probably due to target being updated completed, will retry up to 32 times
Pull to get updates from other users
##[error]Error: Need to specify how to reconcile divergent branches.
##[error]Error: Need to specify how to reconcile divergent branches.
The text was updated successfully, but these errors were encountered: