Skip to content
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

Implement merge queue to better handle new releases #377

Open
benjagm opened this issue Feb 27, 2024 · 9 comments
Open

Implement merge queue to better handle new releases #377

benjagm opened this issue Feb 27, 2024 · 9 comments
Assignees
Labels
✨ Enhancement Indicates that the issue suggests an improvement or new feature. Status: On Hold Similar to blocked, but is assigned to someone.

Comments

@benjagm
Copy link
Collaborator

benjagm commented Feb 27, 2024

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

@benjagm benjagm added ✨ Enhancement Indicates that the issue suggests an improvement or new feature. Status: In Progress This issue is being worked on, and has someone assigned. labels Feb 27, 2024
@benjagm benjagm self-assigned this Feb 27, 2024
@aialok
Copy link
Collaborator

aialok commented Feb 28, 2024

I would love to work on this : )

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 28, 2024

Thanks Alok! Let's work together on this one.

@gregsdennis
Copy link
Member

gregsdennis commented Feb 28, 2024

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.

@benjagm
Copy link
Collaborator Author

benjagm commented Feb 28, 2024

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.

@benjagm
Copy link
Collaborator Author

benjagm commented Mar 1, 2024

Any progress with this @aialok ?

@benjagm benjagm added Status: On Hold Similar to blocked, but is assigned to someone. and removed Status: In Progress This issue is being worked on, and has someone assigned. labels Mar 4, 2024
@aialok
Copy link
Collaborator

aialok commented Mar 5, 2024

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: AuroraBenzyl#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: )

@gregsdennis
Copy link
Member

(@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
Copy link
Collaborator

aialok commented Mar 5, 2024

(@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.)

My bad. @gregsdennis I love to have your suggestion on this.

@gregsdennis
Copy link
Member

Thanks but I'm not the expert here. I'd prefer to defer to @karenetheridge, if she's available.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Enhancement Indicates that the issue suggests an improvement or new feature. Status: On Hold Similar to blocked, but is assigned to someone.
Projects
Status: On Hold
Development

No branches or pull requests

3 participants