-
-
Notifications
You must be signed in to change notification settings - Fork 10k
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
Automate Squash Merging to Reduce PR Friction and Improve CI Efficiency in homebrew/homebrew-core #16262
Comments
While I haven't read the full thread, there seems to have been some past discussion at least tangentially related to this in the following issue: |
First of all, thank you for your writeup and contributions. Open source projects, especially large ones, usually have their own contribution standards that maintainers and contributors need to follow. In As for the feature you proposed, do note that CI in Despite the autosquash workflow already being implemented, we still often tell contributors to squash the commits themselves, because this makes sure they understand this commit format when they continue to contribute in the future, and also saves CI resources since autosquash requires another round of CI on the squashed commit. So, I would argue that this is not "friction", but instead to guide contributors to contribute better. I'm going to close this issue as this repository is for issues in in |
None of which is prevent by squash merging PR's..?
Which is all still maintained by squash merging PR's.
I'm not sure if that is broken, or takes a very long time to kick in, or what; but it certainly didn't seem to happen on this PR; given the request for manual squashing/etc:
Fair enough. Though that's definitely not how it seemed to come across in the above linked PR.
I wasn't proposing that; that wouldn't be a good user experience.
We can agree to disagree on this one. You're basically trading off some cheap/simple compute time against very real world human time (not just for me as someone contributing, but for the maintainers who are wasting their time explaining things that could be very easily automated away); and in doing so, making it more painful for a contributor to contribute; thus negatively reinforcing them not to bother. Not a good policy/choice tbh. This has once more reminded me why I've tended to avoid spending my time contributing to homebrew; so thanks for that :) |
"Squash merging PR's" is working fine, it only happens at the end when a maintainer approves your PR (and also initiates a merge, for PRs adding new formulae). The "merge" has not happened to your PR yet.
Because automated autosquash, compared to a maintainer requesting manual squashing, is less effective in making sure contributors understand the commit style and do it right in the future.
Yes, I agree.
Compute time can be simple on some PR, but extremely expensive on some others; it is, in general, valuable to us. CI on some important formulae (e.g. By saying this, however, I am not suggesting that we will reject PRs that require autosquash. Contributions are still welcomed, but more welcomed and appreciated when they come in the right format. |
@0xdevalias This sort of commentary is not necessary or appreciated. @ZhongRuoyu has provided a fairly comprehensive response to your issue. We welcome help making Homebrew better but these interactions do not help Homebrew in their current format and tone. |
@MikeMcQuaid I already wrote a longer response to this on the other issue (Ref), so I won't waste either of our time in repeating it here again. |
@ZhongRuoyu translated through ChatGPT to avoid 'tone': Thank you for your detailed explanations and the context you provided. While I have a different perspective on the balance between manual processes and automation (seemingly aligned to this article), I understand and respect the project's current approach. Given our differing views, I think it's best to avoid further discussion on this topic to respect both our time commitments. |
Verification
brew install wget
. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.Provide a detailed description of the proposed feature
In the current workflow for handling pull requests (PRs) in the Homebrew repository, contributors are often required to manually squash their commits before a PR can be merged. This requirement can add unnecessary friction to the contribution process and may lead to additional complications, such as CI (Continuous Integration) blocking PRs due to poorly named commits within them.
What is the motivation for the feature?
The primary motivation for automating squash merging is to streamline the contribution process by reducing the manual steps required from contributors. Automating this process can also enhance the efficiency and reliability of CI checks, as it ensures that only the final, squashed commit is evaluated, avoiding issues with individual commit names.
How will the feature be relevant to at least 90% of Homebrew users?
While this feature might seem to directly impact only contributors, its indirect benefits extend to the vast majority of Homebrew users. By simplifying the contribution process and improving CI reliability, the overall quality and timeliness of updates and new features in Homebrew can be enhanced. This leads to a more robust and reliable experience for all users who rely on Homebrew for software installation and management.
What alternatives to the feature have been considered?
Given these considerations, automating squash merging appears to be a more efficient and user-friendly approach to maintaining high-quality contributions and a smooth workflow in the Homebrew repository.
The text was updated successfully, but these errors were encountered: