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
update: migrate everyone from linuxbrew-core to homebrew-core #12248
Conversation
Review period will end on 2021-10-19 at 17:30:52 UTC. |
It has been 7 days since we enabled the migration for developers and we got no complaints. I would like to get this out as soon as possible, before we start massively bottling for Monterey (to avoid to have to merge all these changes into linuxbrew-core, which might be only endless merge conflicts in bottle blocks). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm 👍🏻 on getting this out ASAP and tagging a minor or major release with this in the next week or two. Doesn't need to be in this PR but I think we should also enable GITHUB_ACTIONS
sooner rather than later and adjust/remove the documentation for HOMEBREW_FORCE_HOMEBREW_ON_LINUX
and HOMEBREW_FORCE_HOMEBREW_CORE_REPO_ON_LINUX
to make it clear that they don't do anything now.
I think a few cleanup / decommissioning pull requests will be necessary anyway. In this repo and elsewhere. We can do this slowly after we have done the migration. |
@iMichka Agreed. I'd like |
@MikeMcQuaid |
Interestingly this broke the syntax job: it's downloading from the right place (homebrew-core), but uses the sha256 from linuxbrew-core... |
@iMichka Yeh, that's somewhat expected because until The right approach is probably to restore the previous logic and only use it when |
Instead of forcing a migration onto GitHub Actions, we really should update the default install remote in Homebrew/install and allow GitHub to ship new images that use this remote (since new image versions are clean built). That means migration will not be required at all from GitHub Actions. |
I reopened my install.sh pull request. Initially I wanted to merge that one first. The docker image used by the CI is built by this dockerfile (https://github.com/Homebrew/brew/blob/master/Dockerfile), right? |
We don't have control over when GitHub does that. We can ask but it's unlikely that they will before this is in a new tag. You'll also only end up on this commit if
Anything that doesn't reference |
Hi, I'm very glad to see this migration to let users have unified settings for Homebrew on both macOS and Linux. May I ask is there any migration plan for formula bottles ( brew/Library/Homebrew/env_config.rb Lines 41 to 52 in ff2985c
brew/Library/Homebrew/env_config.rb Lines 87 to 92 in ff2985c
|
467fa7d
to
444b9b4
Compare
@XuehaiPan fixed! |
@Bo98 This will avoid the need for GitHub Actions migration where our workflow is used: Homebrew/actions#235 @iMichka We also want to merge that at a similar time to this and the install PR. |
Review period ended. |
Tested and the migration is not done anymore:
The remote stays on linuxbrew-core. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if we actually need HOMEBREW_CORE_ON_LINUX
anymore and I feel the complication of it is causing issues. @iMichka does the below fix anything?
Ah I just noticed you said this method broke the syntax job before? I think that might have actually been fixed when we updated setup-homebrew. The problem we had there happens if brew is updated but not via |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉 Looks great to me (although, again, I haven't tested it)! I can think of a few cleanup things that can be done now, but I don't know if they should be addressed in a follow up PR rather than now.
@@ -24,5 +24,3 @@ def fetch(category, days) | |||
end | |||
end | |||
end | |||
|
|||
require "extend/os/api/analytics" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's some more cleanup that can happen here later (e.g. no need for the analytics_api_path
generic_analytics_api_path
dance)
Happy to help out with this in the future. No need to worry in this PR since it should never be encountered from this point on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Rylan12 Yeh, let's punt on this cleanup until later.
- Linux maintainers: this team maintains the [`Homebrew/homebrew-core`](https://github.com/Homebrew/homebrew-core) | ||
repository on Linux. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Linux maintainers: this team maintains the [`Homebrew/homebrew-core`](https://github.com/Homebrew/homebrew-core) | |
repository on Linux. |
Not sure we need to make a distinction here anymore. I figure all linux maintainers will just be considered core maintainers now.
Also, the Homebrew/linuxbrew-core Maintainer Guide can probably be deleted, though there may be some information there that should just be added to the formula cookbook (i.e. stuff about Linux-only formulae)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Rylan12 I think it'd be good to have a subset of maintainers who can still get pinged on Linux issues.
Yeh, I'm holding off deleting that guide and will let one of the Linux maintainers do so.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternative fix to my above suggestion: adjust the logic so that it actually overrides HOMEBREW_CORE_GIT_REMOTE
on migration.
This should probably happen now rather than later, at least as a warning, if we are planning to archive linuxbrew-core immediately after this is released. I also feel the migration experience isn't 100% ideal yet. You currently have to run If we can get it to trigger immediately after the update to this version of brew then we can have a lot less legacy handling here. To do that however will require making something like I can see us doing something like:
The above may well stay permanently, but will at least be minimalised. If we want to give a migration period then of course that diagnostic can be just a warning for now and we can keep the old bottle domains while we give notice. |
8dfcd84
to
8b71cfa
Compare
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
I've made
Have also added this. |
Tested and seems to be working as expected. Want to get this merged so we can start testing here before tagging this next week. |
Tested on my side, it worked. Thanks @MikeMcQuaid for all the cleanup! I feel free now :) |
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?