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

Add chocolatey support/push for windows binary package #3154

Closed
2 tasks done
rfay opened this issue Jun 11, 2022 · 5 comments
Closed
2 tasks done

Add chocolatey support/push for windows binary package #3154

rfay opened this issue Jun 11, 2022 · 5 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@rfay
Copy link
Contributor

rfay commented Jun 11, 2022

Is your feature request related to a problem? Please describe.

I see that goreleaser has scoop support for windows packages, which I haven't used before, but I think chocolatey is more widely used.

Chocolatey is (probably?) the leading package manager for Windows. It's not terribly hard to implement in a release process, and it makes installing and updating as easy as homebrew.

Describe the solution you'd like

It's not terribly hard to implement, see

Describe alternatives you've considered

I guess I'll try scoop. I thought I was going to need a script to download from the releases page.

Search

  • I did search for other open and closed issues before opening this.

Code of Conduct

  • I agree to follow this project's Code of Conduct

Additional context

I'm integrating goreleaser for DDEV, so need to install goreleaser for the Windows build.

DDEV publishes releases to chocolatey among all the other places and people seem to like it. They've never asked for scoop, and choco seems to be the normal choice.

@rfay rfay added enhancement New feature or request triage Issue pending triage by one of the maintainers labels Jun 11, 2022
@caarlos0
Copy link
Member

doesn't chocolatey require MSIs?

@rfay
Copy link
Contributor Author

rfay commented Jun 11, 2022

I guess that's probably right, not sure. We ship an installer, super easy to make with nsis.

@caarlos0
Copy link
Member

see #1295

@caarlos0 caarlos0 removed the triage Issue pending triage by one of the maintainers label Aug 12, 2022
@faabiosr faabiosr mentioned this issue Oct 29, 2022
2 tasks
caarlos0 added a commit that referenced this issue Nov 12, 2022
This PR adds support for generating the structure used to pack and push
Chocolatey Packages. And will solve the #3154

Is not ready for merge yet, but has the main structure, and ready for
comments.

Accordingly to Chocolatey, in order to build a package, it's necessary a
`.nuspec` and `chocolateyinstall.ps1` files at least, having these ones,
we could pack and distribute without adding the binary inside the final
package and that was implemented here.

To complete, will be necessary to define the package build and
distribute, however will be required to have Chocolatey installed
(Windows Only). One of alternatives that I thought was, publish the
files like Scoop and Brew in a separate repository, and there we could
use `chocolatey` through
[crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey).

Chocolatey has a lot of good examples of repositories:

https://github.com/chocolatey-community/chocolatey-packages/tree/master/automatic/curl

A final compilation of the missing parts:
- [x] How to pack and push (chocolatey)
- [x] Documentation

Sorry for the long description😄 

All feedback very welcome!

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
@caarlos0
Copy link
Member

should be fixed by #3509

@caarlos0 caarlos0 added this to the v1.13.0 milestone Nov 12, 2022
@rfay
Copy link
Contributor Author

rfay commented Nov 13, 2022

Yay! Thanks!

gal-legit pushed a commit to gal-legit/goreleaser that referenced this issue Nov 13, 2022
This PR adds support for generating the structure used to pack and push
Chocolatey Packages. And will solve the goreleaser#3154

Is not ready for merge yet, but has the main structure, and ready for
comments.

Accordingly to Chocolatey, in order to build a package, it's necessary a
`.nuspec` and `chocolateyinstall.ps1` files at least, having these ones,
we could pack and distribute without adding the binary inside the final
package and that was implemented here.

To complete, will be necessary to define the package build and
distribute, however will be required to have Chocolatey installed
(Windows Only). One of alternatives that I thought was, publish the
files like Scoop and Brew in a separate repository, and there we could
use `chocolatey` through
[crazy-max/ghaction-chocolatey](https://github.com/crazy-max/ghaction-chocolatey).

Chocolatey has a lot of good examples of repositories:

https://github.com/chocolatey-community/chocolatey-packages/tree/master/automatic/curl

A final compilation of the missing parts:
- [x] How to pack and push (chocolatey)
- [x] Documentation

Sorry for the long description😄 

All feedback very welcome!

Co-authored-by: Carlos Alexandro Becker <caarlos0@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants