-
Notifications
You must be signed in to change notification settings - Fork 48
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
Canary deployment does not always reflect latest merged PR #935
Comments
We do use nextstrain.org/.github/workflows/ci.yml Lines 126 to 127 in 6b7f354
but yeah, it's only on the job where it's not enough to prevent this. Note that Heroku's own builds suffer from the same failure mode (I've seen it more than once).
Why? I agree it'd be good to have a complete build for each PR while it's a PR, but not each merged PR. Once something's merged, we've serialized it onto |
Good point. Maybe it'd be simpler to set |
Sure. That works, though for (unmerged) PRs we might not want to wait around for previous CI runs to complete before launching new ones on new pushes? |
How about using |
Sure, we can try it out and see how we like it. |
I just merged two PRs in this order: #914, #922. next.nextstrain.org reflected the latest #922 briefly before the slower build of #914 completed and overrode the latest changes from #922.
Deploy is done as the last step of CI (which is also CD in this case). You can see that the workflows started around the same time but #914's was slower than #922's:
Possible solutions
jobs.<job_id>.concurrency
deploy
step is quick and will not overlap in most scenarios. The overlapping happens duringbuild
but concurrency shouldn't be checked on that job – it'd still be good to have a complete build for each merged PR. Maybe having a separatebuild
but then we wouldn't be deploying the same exact build that's being tested.The text was updated successfully, but these errors were encountered: