To make installation easier, it would be great if the Homebrew packages were kept up to date with the latest release of Terragrunt. Doing this manually is untenable, so we should figure out a way to automate this in the workflow for publishing a new release.
The releasing new versions section of the README says that CircleCI is already used to build the binaries for releases. CircleCI can also likely be used to keep the homebrew packages updated.
It seems like someone is keeping it fairly up-to-date as-is. I know I'm not doing it. @josh-padnick, @antonbabenko: are you doing it by any chance?
I think I created the first homebrew package, but I don't actively update them. That being said, I agree with @conorgil that it'd be very convenient if we could automatically update homebrews. I'd use that myself in my localdev!
I have created my package 7 months ago and have not been updating it for a very long time, because @neutric updates official formula automagically (brew bump-formula-pr).
@antonbabenko Oh, interesting. How does @neutric do that?
Like this - brew bump-formula-pr --dry-run --url=https://github.com/gruntwork-io/terragrunt/releases/download/v0.1.2/terragrunt_darwin_amd64 --sha256=fae7bf0bb7031cf44cb3bbaf9562a1a7849c9680930080ccc4fa7980b9875362 terragrunt.
Is that a command running in a CI job somewhere? Or are you running it manually? If it's the latter, we could certainly add it to our CI job. What permissions do you need?
This is the complete output:
$ brew bump-formula-pr --dry-run --url=https://github.com/gruntwork-io/terragrunt/releases/download/v0.1.2/terragrunt_darwin_amd64 --sha256=fae7bf0bb7031cf44cb3bbaf9562a1a7849c9680930080ccc4fa7980b9875362 terragrunt
==> brew update
==> replace "https://github.com/gruntwork-io/terragrunt/archive/v0.12.16.tar.gz" with "https://github.com/gruntwork-io/terragrunt/releases/download/v0.1.2/terragrunt_darwin_amd64"
==> replace "2bf76d1662fabcefd963b6c86579203b0712ade88aa403a1d0da43ec057a75ac" with "fae7bf0bb7031cf44cb3bbaf9562a1a7849c9680930080ccc4fa7980b9875362"
==> git checkout --no-track -b terragrunt-64 origin/master
==> git commit --no-edit --verbose --message='terragrunt 64' -- /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/terragrunt.rb
==> hub fork --no-remote
==> hub fork
==> hub fork (to read $HUB_REMOTE)
==> git push --set-upstream $HUB_REMOTE terragrunt-64:terragrunt-64
==> hub pull-request --browse -m 'terragrunt 64'
==> git checkout -
From what I see it depends only on brew and github, so can be running from CircleCI, but I only run it from my local mac before. Sorry, I don't have time to work on this myself during next couple weeks.
@antonbabenko We build from source, so the url to be used is https://github.com/gruntwork-io/terragrunt/archive/v0.12.16.tar.gz. And to effect change you of course have to drop the --dry-run.
Most helpful comment
@antonbabenko We build from source, so the url to be used is
https://github.com/gruntwork-io/terragrunt/archive/v0.12.16.tar.gz. And to effect change you of course have to drop the--dry-run.