website
website copied to clipboard
Implement merge queue to better handle new releases
Reason/Context
We are handing multiple new features and will be ideal handle them with a merge queue.
Description
we'll need to do https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repo[…]sitory/configuring-pull-request-merges/managing-a-merge-queue to support the merge queue.
Thanks @gregsdennis @karenetheridge
Do you think this work might require an Architectural Decision Record (ADR)? (significant or noteworthy)
No
I would love to work on this : )
Thanks Alok! Let's work together on this one.
This is something that requires access to repo settings. An external contributor without admin rights isn't going to be able to do much here.
At least Alok can help a lot with creating the github actions... I'll complete the setup from our side.
He can help me save a lot of time.
Any progress with this @aialok ?
Hey @json-schema-org/web-team After doing some research and implementing a basic merge queue in my dummy organization with the help of @benjagm, everything seems to be working fine. You can find the PR link here: https://github.com/Lakhua-dev/website/pull/5
However, I have some doubts after checking videos, documentation, and reading about merge queues and their usage in our repository:
Firstly, merge queues are typically used for complex projects where there are hundreds of PRs submitted daily. Given that our project isn't that large, do you think we're overusing resources by implementing a merge queue and making it complicated for both contributors and maintainers?
Merge queues are primarily employed when there's a substantial amount of work being done, leading to numerous merge conflicts due to frequent PR merges. Additionally, they are utilized when the time taken for CI tests to complete is significantly long.
This concept was first introduced by Shopify because they had to run 140K tests, which took them 16 minutes to complete, with over 500 commits being made in a single day.
For more detail : https://www.youtube.com/watch?v=04TTRJArpVw
I see one benefit on using merge queue is that contributor don't need to fetch latest changes every time and they will not get merge conflict much. If you could explain its other usage in our repository, then let's implement it for our project : )
Let me know if you need further clarification on anything.
Thank You @benjagm for good discussion and helping about merge-queue: )
(@aialok I think you've tagged someone not associated with this issue. @maintainer isn't a reserved tag that notifies the maintainer of a repo.)
(@aialok I think you've tagged someone not associated with this issue.
@maintainerisn't a reserved tag that notifies the maintainer of a repo.)
My bad. @gregsdennis I love to have your suggestion on this.
Thanks but I'm not the expert here. I'd prefer to defer to @karenetheridge, if she's available.