Build lyrebird with go1.22 for macos only

Please select the appropriate issue template from the Description drop-down.


  • 💡 Proposal - suggest a new feature

I don't see a proposal template anymore, apologies for just winging it

Proposal: Build lyrebird with go1.22 for macos only

We're having difficulty holding things back to go 1.22 on Snowflake, so we want to bump the version of Go for all platforms except macos. Full details are in tpo/anti-censorship/pluggable-transports/snowflake#40490 and tpo/anti-censorship/pluggable-transports/snowflake!675 (merged) but summarized here.

I've been working on a branch of snowflake that is compatible with client builds using go1.22. My idea was to write a patch for lyrebird where the go.mod file has a replace directive to use that branch for snowflake instead. I started updating the build and config files for lyrebird builds to add the special case for macos, but realized that the vendored dependencies will also be different.

I'm wondering what the best way to go about this is. Is there a way to easily vendor two different versions of lyrebird? Would we need a separate lyrebird branch instead of a patch in the lyrebird project directory?

Assignee Loading
Time tracking Loading