Skip to content
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

goenv v2.0.0 releases & Homebrew #80

Closed
catkins opened this issue Apr 15, 2019 · 37 comments
Closed

goenv v2.0.0 releases & Homebrew #80

catkins opened this issue Apr 15, 2019 · 37 comments

Comments

@catkins
Copy link

catkins commented Apr 15, 2019

Hi there,

I notice that there haven't been any 1.X releases lately in favour of 2.0.0 beta releases. Are we likely to see any more 1.X releases coming out? Is a 2.0.0 stable release likely to drop soon?

If there aren't likely to be any new 1.X releases would it be appropriate if we updated the Homebrew references to point to the 2.x betas? I'd love for my team to update to Go 1.12, but ideally we can avoid manually managing our goenv installations.

https://github.com/Homebrew/homebrew-core/blob/master/Formula/goenv.rb

I'm less familiar how this project operates, but is there intention in the future to decouple go-build and goenv releases to allow for go version bumps independent of toolchain changes to goenv itself?

@syndbg
Copy link
Member

syndbg commented Apr 15, 2019

@catkins Hi, good questions. I'll try to answer them with what I've thought over the past few weeks.

Are we likely to see any more 1.X releases coming out?

Unlikely. 2.0.0 beta channel is as stable as the 1.x.

However breaking changes/features are often introduced in the beta channel and reading the changelog is the only way to disable them. I try to introduce them including feature flags to disable them.

Is a 2.0.0 stable release likely to drop soon?

Yes. I'm still thinking what else do I miss the most in goenv that I can include (that's also breaking) in the beta channel of 2.x.

If there aren't likely to be any new 1.X releases would it be appropriate if we updated the Homebrew references to point to the 2.x betas?

Yes, I think it's a must. Unfortunately, I've been overlooking Homebrew since I stopped using Mac few years ago.

If anyone can update the homebrew formula that would be great!

I'm less familiar how this project operates, but is there intention in the future to decouple go-build and goenv releases to allow for go version bumps independent of toolchain changes to goenv itself?

It is an intention that I still explore how it could be introduced.

I've spoken with colleagues that are also using goenv and interested in this.

@syndbg syndbg pinned this issue Apr 15, 2019
@catkins
Copy link
Author

catkins commented Apr 15, 2019

Thanks for the speedy responses @syndbg 😄

I'm still thinking what else do I miss the most in goenv that I can include

Oh cool. Is there a roadmap noted down anywhere?

Yes, I think it's a must. Unfortunately, I've been overlooking Homebrew since I stopped using Mac few years ago.

If anyone can update the homebrew formula that would be great!

OK cool, I'll take a look to see what's involved.

From what I can tell the last few homebrew updates have been done automatically by @bepsvpt via homebrew-updater project. homebrew-updater doesn't appear to have any docs, so I guess I'll just manually create a PR updating the formula.

Homebrew/homebrew-core#35545

@bepsvpt
Copy link

bepsvpt commented Apr 15, 2019

Hi @catkins and @syndbg,

Homebrew-updater will open pull request when formula release a new stable version. Thus, you had not seen any PR for goenv formula in the past months.

@catkins
Copy link
Author

catkins commented Apr 15, 2019

Thanks @bepsvpt – are there any docs around for how projects get setup in homebrew-updater? It sounds very handy!

I'll open a PR with a manual bump to the beta9 release, and presumably when 2.0.0 stable is released, homebrew-updater will pick that up.

@catkins
Copy link
Author

catkins commented Apr 15, 2019

OK, so after a bit of a diversion with Homebrew giving me some grief, it turns out that brew audit fails if I try to set it to use the beta version 🤦‍♀️ – I guess we're stuck with the manual git installation until 2.0.0 stable is released

brew bump-formula-pr  --strict --url=https://github.com/syndbg/goenv/archive/2.0.0beta9.tar.gz goenv
==> Downloading https://github.com/syndbg/goenv/archive/2.0.0beta9.tar.gz
Already downloaded: /Users/catkins/Library/Caches/Homebrew/downloads/737d60db7bf951655f44cd68a5629c57dd7bf573e96675b2d678ab82a8a36eba--goenv-2.0.0beta9.tar.gz
==> replace /https:\/\/github\.com\/syndbg\/goenv\/archive\/1\.23\.3\.tar\.gz/ with "https://github.com/syndbg/goenv/archive/2.0.0beta9.tar.gz"
==> replace "1559f2907ee0339328466fe93f3c9637b7674917db81754412c7f842749e3201" with "6ede9c14390c8ecc480fe9f3af54c72508a36c0c1bdd7e049e320f64ff56ca64"
goenv:
  * Stable version URLs should not contain beta
Error: 1 problem in 1 formula detected
Error: brew audit failed!

@liamdawson
Copy link

In the meantime, I'm using brew install --HEAD goenv to install from GitHub, without leaving brew.

@catkins
Copy link
Author

catkins commented Aug 6, 2019

@syndbg any movement on this? Is a stable V2 release coming anytime soon?

@catkins
Copy link
Author

catkins commented Aug 20, 2019

Hi again @syndbg – sorry to keep prodding you on this one, we all love your tool!

Will you be releasing V2 soon?

@syndbg
Copy link
Member

syndbg commented Sep 20, 2019

@catkins I haven't had the time to focus on the missing pieces before reaching the 2.0.0 milestone.

I hope by the end of the year, since Q4 is always a bit more unpredictable for me.

@d3v1an7
Copy link

d3v1an7 commented Sep 25, 2019

Homebrew have a general rule of not allowing/approving beta releases in homebrew/core. If you were to... say... make a release without the beta naming... I'd be more than happy to submit the updated formula :)

This most recent commit message in some of our tooling made me sad...

As we start to move to Go 1.12+, goenv must be upgraded in order to support these new versions. As there is no goenv 2.x Brew formula, this can only be done by installing HEAD

Unfortunately, while this works correctly when installing fresh (without goenv already installed), future upgrades are skipped, as the formula is treated as 'up to date' by Brew.

To address this, we must first detect and remove goenv versions installed by Brew which are not the HEAD version. It's unclear at this stage whether further work will be required to keep the HEAD version up to date, but we can tackle that later if needed.

This is less of an issue for goenv, more about how it's distributed :D

The fun 'fix' for anyone following along...

brew install jq
if [ -n "$(brew info --json goenv | jq -r '.[0].installed[] | select(.version | test("^HEAD-") | not)')" ]; then
  brew uninstall goenv
fi
brew install --HEAD goenv 

@grosser
Copy link

grosser commented Sep 28, 2019

please release something ... not getting 1.12 and having to look through issues (even knowning where to find issues) is frustrating

@grosser
Copy link

grosser commented Sep 28, 2019

... or at least make the help text for v1 say install with --HEAD if you want v1.12+

@catkins
Copy link
Author

catkins commented Dec 20, 2019

Hi again @syndbg 👋

#80 (comment) Any updates on the v2 release? Is there anything I can help with to get it over the line?

@catkins
Copy link
Author

catkins commented Jan 22, 2020

@syndbg hi again! Any way we can help get v2 over the line?

@angristan
Copy link

Hey! Bumping this, too.

@syndbg
Copy link
Member

syndbg commented Feb 20, 2020

I'm actively looking into it.

@syndbg
Copy link
Member

syndbg commented Mar 7, 2020

Update: Still waiting on GitHub (support) to resolve my blocker to move forward.

@leonardge
Copy link

leonardge commented Mar 26, 2020

Is there any update on Homebrew formula?

@catkins
Copy link
Author

catkins commented Mar 26, 2020

Update: Still waiting on GitHub (support) to resolve my blocker to move forward.

@syndbg is there anything we can help with there? what's the blocker?

@RichardFevrier
Copy link

👍

@d3v1an7
Copy link

d3v1an7 commented Apr 15, 2020

Replying to comment in closed issue: #112 (comment)

@rocketspacer No, I don't own it.

#80 (comment)

The goal for the official 2.0.0 of this project is to move it to an organization account where the formulae and whatever else we need, can be under 1 hat.

Hey @syndbg just bumping offer to help again. Appologies if you're already across how Homebrew works, but to clear any potential misunderstandings, you don't need to own the formula -- the community owns https://github.com/Homebrew/homebrew-core/blob/master/Formula/goenv.rb.

You can just keep bumping the version of your repo (here, or anywhere else), and the person who cares the most will make sure the homebrew formula gets bumped.

The reason this is causing so much angst right now is that Homebrew do not allow pointing to betas. So anyone installing via homebrew (👋) is still pointing at https://github.com/syndbg/goenv/tree/1.23.3 which is painfully out of date now. There are workarounds, but they all have compromises. It'll be much easier if we can point to an official release of 2.0. If you end up moving or renaming the project, the formula can be updated without too much hassle.

More than happy to help, but until 2.0 drops, hands are a bit tied :)

@tomasbackman
Copy link

@syndbg I understand that you want to do a proper 2.0.0 release. But until all the kinks for that have been straightened out, you maybe please could just "release" a new 1.X version with the latest 2-beta changes..? So somebody can update the community formula for brew and us that uses homebrew can use this nice tool to get the latest go without using the brew uninstall/install --head "workaround/fix" suggested above by @d3v1an7. =)

@catkins
Copy link
Author

catkins commented Jun 15, 2020

@syndbg Hi again, any way we can help get 2.0 across the line?

Alternately, would be we able to start pushing releases of both 1.x (off a branch) and 2.x-beta?

@erbridge
Copy link

Or, alternatively, create a Homebrew tap?

@catkins
Copy link
Author

catkins commented Jul 15, 2020

Hi again @syndbg 👋

Any way we can help get 2.x out as stable soon?

@joshua-rutherford
Copy link

While we wait (either for you to release or for you to let us know how to help) would you be open to simply creating a release-1.x branch here based off the 1.23.3 tag and allowing the versions to be updated and tagged only. That should be minimal effort and allow us to help at least make sure that homebrew users can use a version of go that is still supported without needing to manually fetch updates via git.

Sadly, this is a pretty big issue for a number of users and one that could be solved easily until you have 2.0.0 released.

@grosser
Copy link

grosser commented Apr 1, 2021

here again because I had to

brew uninstall goenv
brew install --HEAD goenv

to get a new go version :(
... can we please have a release/make standard brew work ?

@abvaidya
Copy link

abvaidya commented May 6, 2021

For those looking for newer versions, I have been using following workaround successfully to upgrade goenv every now and then from HEAD

brew upgrade goenv --fetch-HEAD

@vidhanio
Copy link

vidhanio commented Oct 27, 2021

Trying to get HEAD leaves me with this error message:

➜ brew install --HEAD --verbose goenv
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
Updated 5 formulae.

Updating Homebrew...
==> Cloning https://github.com/syndbg/goenv.git
Updating /Users/vidhanio/Library/Caches/Homebrew/goenv--git
git config remote.origin.url https://github.com/syndbg/goenv.git
git config remote.origin.fetch \+refs/heads/master:refs/remotes/origin/master
git config remote.origin.tagOpt --no-tags
git fetch origin
==> Checking out branch master
git checkout -f master --
Already on 'master'
Your branch is up to date with 'origin/master'.
git reset --hard origin/master --
HEAD is now at 08e3ae6 Use correct checksum for Go Darwin arm 1.17.2 (#197)
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/CODE_OF_CONDUCT.md /private/tmp/d20211027-83116-1fr3jfq/CODE_OF_CONDUCT.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/ADVANCED_CONFIGURATION.md /private/tmp/d20211027-83116-1fr3jfq/ADVANCED_CONFIGURATION.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/LICENSE /private/tmp/d20211027-83116-1fr3jfq/LICENSE
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/test/. /private/tmp/d20211027-83116-1fr3jfq/test
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/bin/. /private/tmp/d20211027-83116-1fr3jfq/bin
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/CHANGELOG.md /private/tmp/d20211027-83116-1fr3jfq/CHANGELOG.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/HOW_IT_WORKS.md /private/tmp/d20211027-83116-1fr3jfq/HOW_IT_WORKS.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/plugins/. /private/tmp/d20211027-83116-1fr3jfq/plugins
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/Makefile /private/tmp/d20211027-83116-1fr3jfq/Makefile
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/COMMANDS.md /private/tmp/d20211027-83116-1fr3jfq/COMMANDS.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/libexec/. /private/tmp/d20211027-83116-1fr3jfq/libexec
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/completions/. /private/tmp/d20211027-83116-1fr3jfq/completions
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/RELEASE_PROCESS.md /private/tmp/d20211027-83116-1fr3jfq/RELEASE_PROCESS.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/INSTALL.md /private/tmp/d20211027-83116-1fr3jfq/INSTALL.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/.editorconfig /private/tmp/d20211027-83116-1fr3jfq/.editorconfig
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/README.md /private/tmp/d20211027-83116-1fr3jfq/README.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/.gitignore /private/tmp/d20211027-83116-1fr3jfq/.gitignore
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/CONTRIBUTING.md /private/tmp/d20211027-83116-1fr3jfq/CONTRIBUTING.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/.agignore /private/tmp/d20211027-83116-1fr3jfq/.agignore
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/Brewfile /private/tmp/d20211027-83116-1fr3jfq/Brewfile
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/.git/. /private/tmp/d20211027-83116-1fr3jfq/.git
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/.travis.yml /private/tmp/d20211027-83116-1fr3jfq/.travis.yml
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/ENVIRONMENT_VARIABLES.md /private/tmp/d20211027-83116-1fr3jfq/ENVIRONMENT_VARIABLES.md
cp -pR /Users/vidhanio/Library/Caches/Homebrew/goenv--git/src/. /private/tmp/d20211027-83116-1fr3jfq/src
cp -pR /private/tmp/d20211027-83116-1fr3jfq/CODE_OF_CONDUCT.md /private/tmp/goenv-20211027-83116-179l575/CODE_OF_CONDUCT.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/ADVANCED_CONFIGURATION.md /private/tmp/goenv-20211027-83116-179l575/ADVANCED_CONFIGURATION.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/LICENSE /private/tmp/goenv-20211027-83116-179l575/LICENSE
cp -pR /private/tmp/d20211027-83116-1fr3jfq/test/. /private/tmp/goenv-20211027-83116-179l575/test
cp -pR /private/tmp/d20211027-83116-1fr3jfq/bin/. /private/tmp/goenv-20211027-83116-179l575/bin
cp -pR /private/tmp/d20211027-83116-1fr3jfq/CHANGELOG.md /private/tmp/goenv-20211027-83116-179l575/CHANGELOG.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/HOW_IT_WORKS.md /private/tmp/goenv-20211027-83116-179l575/HOW_IT_WORKS.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/plugins/. /private/tmp/goenv-20211027-83116-179l575/plugins
cp -pR /private/tmp/d20211027-83116-1fr3jfq/Makefile /private/tmp/goenv-20211027-83116-179l575/Makefile
cp -pR /private/tmp/d20211027-83116-1fr3jfq/COMMANDS.md /private/tmp/goenv-20211027-83116-179l575/COMMANDS.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/libexec/. /private/tmp/goenv-20211027-83116-179l575/libexec
cp -pR /private/tmp/d20211027-83116-1fr3jfq/completions/. /private/tmp/goenv-20211027-83116-179l575/completions
cp -pR /private/tmp/d20211027-83116-1fr3jfq/RELEASE_PROCESS.md /private/tmp/goenv-20211027-83116-179l575/RELEASE_PROCESS.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/INSTALL.md /private/tmp/goenv-20211027-83116-179l575/INSTALL.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/.editorconfig /private/tmp/goenv-20211027-83116-179l575/.editorconfig
cp -pR /private/tmp/d20211027-83116-1fr3jfq/README.md /private/tmp/goenv-20211027-83116-179l575/README.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/.gitignore /private/tmp/goenv-20211027-83116-179l575/.gitignore
cp -pR /private/tmp/d20211027-83116-1fr3jfq/CONTRIBUTING.md /private/tmp/goenv-20211027-83116-179l575/CONTRIBUTING.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/.agignore /private/tmp/goenv-20211027-83116-179l575/.agignore
cp -pR /private/tmp/d20211027-83116-1fr3jfq/Brewfile /private/tmp/goenv-20211027-83116-179l575/Brewfile
cp -pR /private/tmp/d20211027-83116-1fr3jfq/.git/. /private/tmp/goenv-20211027-83116-179l575/.git
cp -pR /private/tmp/d20211027-83116-1fr3jfq/.travis.yml /private/tmp/goenv-20211027-83116-179l575/.travis.yml
cp -pR /private/tmp/d20211027-83116-1fr3jfq/ENVIRONMENT_VARIABLES.md /private/tmp/goenv-20211027-83116-179l575/ENVIRONMENT_VARIABLES.md
cp -pR /private/tmp/d20211027-83116-1fr3jfq/src/. /private/tmp/goenv-20211027-83116-179l575/src
chmod -Rf +w /private/tmp/d20211027-83116-1fr3jfq
Error: An exception occurred within a child process:
  Errno::ENOENT: No such file or directory @ rb_sysopen - test/init.bats

@vidhanio
Copy link

Resolved by Homebrew/homebrew-core#88169! thanks :)

@ChronosMasterOfAllTime
Copy link
Collaborator

resolved !

@grosser
Copy link

grosser commented Oct 28, 2022

thx, finally no more funky install commands :D

@ghost
Copy link

ghost commented Oct 28, 2022

@syndbg @ChronosMasterOfAllTime I created a PR in Homebrew Core to release v2.0.1 as the latest stable build at Homebrew/homebrew-core#114185

@ChronosMasterOfAllTime
Copy link
Collaborator

Homebrew latest stable is 2.0.1 now. Thanks @EfChouTR!

@huyz
Copy link

huyz commented Oct 29, 2022

I installed goenv 2.0.1 from Homebrew, but why does this still say beta:

❯ goenv --version
goenv 2.0.0beta11

@ChronosMasterOfAllTime
Copy link
Collaborator

Le d'oh; I thought I had caught all those version references. I promise it's really 2.0.1; it's a single line that needs to be changed 😂

@ChronosMasterOfAllTime
Copy link
Collaborator

ChronosMasterOfAllTime commented Oct 29, 2022

Released 2.0.2 to address this; will make a PR to homebrew-core sometime later

EDIT: PR is opened Homebrew/homebrew-core#114257

Also the changelog is updated with the missing release notes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests