brew icon indicating copy to clipboard operation
brew copied to clipboard

bottles: use different tag for newer Linux CI.

Open MikeMcQuaid opened this issue 3 years ago • 12 comments

This should allow a new tag format while falling back gracefully to the old one.

MikeMcQuaid avatar Sep 16 '22 12:09 MikeMcQuaid

Review period will end on 2022-09-19 at 12:51:44 UTC.

BrewTestBot avatar Sep 16 '22 12:09 BrewTestBot

Can you give an example of how the new tag might look? Also, will different linux versions have different tags now?

I'm trying to decide if this will affect the formula API's variations hash since that's based on bottle tags

Rylan12 avatar Sep 18 '22 20:09 Rylan12

Can you give an example of how the new tag might look?

As-is: x86_64_ubuntu2204.

@carlocab can you comment on your other thoughts here?

MikeMcQuaid avatar Sep 19 '22 10:09 MikeMcQuaid

Review period ended.

BrewTestBot avatar Sep 19 '22 15:09 BrewTestBot

Thanks, Mike! I like x86_64_ubuntu2204. I'd like to backfill Homebrew/core and rename the bottles that were recently built from x86_64_linux to x86_64_ubuntu2204 and older bottles from x86_64_linux to x86_64_ubuntu1604.

A future nice-to-have would be to use the tag x86_64_linux for bottles that depend on neither Glibc nor GCC. We'd then know from the bottle tag which version of Glibc and GCC is required for each bottle if any.

sjackman avatar Sep 20 '22 16:09 sjackman

A future nice-to-have would be to use the tag x86_64_linux for bottles that depend on neither Glibc nor GCC.

I think we've got some of those already; they're tagged with :all. Example:

  bottle do
    sha256 cellar: :any_skip_relocation, all: "211fd7f1d58b383e3d64335c08a376a7d8433007ce61410ead0320df34b6f4bd"
  end

carlocab avatar Sep 20 '22 16:09 carlocab

Thanks, Mike! I like x86_64_ubuntu2204. I'd like to backfill Homebrew/core and rename the bottles that were recently built from x86_64_linux to x86_64_ubuntu2204 and older bottles from x86_64_linux to x86_64_ubuntu1604.

@sjackman Thanks! I'm happy to move forward with this tag but I don't want to rename old bottles really (or at least: I'm not going to block anyone else doing that but I won't be).

@carlocab @danielnachun any objections to landing something like this so we can rebuild bottles rather than produce new ones? Will need some @Homebrew/linux help testing this, too, as I've coded it without testing (perhaps from @Bo98, from whom I'd welcome any thoughts too).

MikeMcQuaid avatar Sep 20 '22 17:09 MikeMcQuaid

No objections, though given recent revelations about Ubuntu 22.04 runtime libraries, most (but not all) rebuilding is no longer needed.

carlocab avatar Sep 20 '22 17:09 carlocab

No major objections here, but one major question - unlike on macOS, I'm not sure we want to keep the 16.04 bottle if a 22.04 bottle exists, so I think that 16.04 stanza should be deleted once 22.04 is ready.

danielnachun avatar Sep 20 '22 17:09 danielnachun

@danielnachun Note that GitHub Packages is immutable so: we're never actually going to delete these bottles. The main advantage of this different naming scheme is it allows them to be added without rebuilding macOS ones.

MikeMcQuaid avatar Sep 20 '22 17:09 MikeMcQuaid

Right, I should have said if the bottle line in the formula could be deleted. Certainly the packge itself doesn't have to be removed.

danielnachun avatar Sep 21 '22 02:09 danielnachun

It would be good to have a fully list of where and why we need new bottles. A new bottle tag hints to me to doing mass bottling (like we do on a new macOS version) but in reality what we've been rebuilding so far seems very targeted and a limited subset of formulae.

Bo98 avatar Sep 21 '22 04:09 Bo98

Passing on this. I don't have access to a Linux machine to finish this off. Anyone interested: feel free to cherry-pick this into your own branch.

MikeMcQuaid avatar Sep 27 '22 09:09 MikeMcQuaid