-
-
Notifications
You must be signed in to change notification settings - Fork 9.9k
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
bottle: tag specific cellars #10186
bottle: tag specific cellars #10186
Conversation
Review period will end on 2020-12-31 at 21:07:24 UTC. |
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.
Makes sense so far. Does this break the existing DSL or are both types supported (they'll need to be indefinitely). Thanks!
Review period ended. |
I reworked the PR to remove the writing part of the cellar lines. This part will be done in a second PR. I'll work on adding tests for the new syntax. |
This is ready for a new review, I added new tests too. |
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.
Nice work, getting there!
799ff24
to
25a3fe5
Compare
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.
The repeated use of .first
is a bit concerning because we're effectively throwing away other results and it's not clear why they are being used.
0836018
to
02573bf
Compare
Finally got the CI green after 93 comments 😁 I’ll start working on the final comments and cleanup asap. |
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.
Looking good! One comment to be addressed and I'm happy.
627e1aa
to
72a449a
Compare
Here we go, all cleaned up. |
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.
Final change and I'm 👍🏻 to 🚢. Ensure you do so at a time when you can be around to make fixes if anything in CI bottling goes 💥
72a449a
to
3eea143
Compare
With Homebrew#10186 now merged, the tag specific cellar information is being read by brew. This PR (once merged) will start adding the cellar information for each tag instead of having a single cellar line on the top of the bottle block. Each new CI build in homebrew-core will slowly start migrating the cellar lines to the right place. If keep-old is used, the old "all tag" cellar line is removed and added to each tag.
With Homebrew#10186 now merged, the tag specific cellar information is being read by brew. This PR (once merged) will start adding the cellar information for each tag instead of having a single cellar line on the top of the bottle block. Each new CI build in homebrew-core will slowly start migrating the cellar lines to the right place. If keep-old is used, the old "all tag" cellar line is removed and added to each tag.
First draft implementation, opening the PR to show what I have already tested. I will need your help, this change is tricky.
See #9315 for discussion.
brew bottle --merge --keep-old
partWriting part (
brew bottle --merge
):I did not modify the
bottle.json
file content. This means I need to shift the cellar information from one level to another in the bottle hash. In fact, eachbottle.json
file has it's own cellar information, but it is not stored at the right level. So I had to manually merge the bottle hash between the multiplebottle.json
files.We might investigate a change in the
bottle.json
file format but I think we can do this in a second step.Reading part (BottleChecksum):
I had to introduce a new BottleChecksum class. It's and adapted version of the Checksum class. I think I need to make BottleChecksum a subclass of Checksum.