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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

automate step-cli PR in winget registry #834

Open
bapho-bush opened this issue Jan 23, 2023 · 12 comments
Open

automate step-cli PR in winget registry #834

bapho-bush opened this issue Jan 23, 2023 · 12 comments
Assignees
Labels
enhancement needs triage Waiting for discussion / prioritization by team

Comments

@bapho-bush
Copy link

Hello!

  • Vote on this issue by adding a 馃憤 reaction
  • If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

I would like to see step-cli in winget registry.

Why is this needed?

Winget is standard windows package manager. I think installation/uninstallation through winget would make step-cli usage easier. I know about ps1 script, but this script, as i see, don't have any uninstallation option and makes step-cli disconnected from the rest of the package management system.

@bapho-bush bapho-bush added enhancement needs triage Waiting for discussion / prioritization by team labels Jan 23, 2023
@tashian
Copy link
Contributor

tashian commented Jan 25, 2023

Thank you for opening this issue, we'll take a look in the coming days and see what we can do.

@tashian
Copy link
Contributor

tashian commented Jan 27, 2023

Winget support would be great to add, as Winget is Microsoft's official CLI tool for installing packages.

So, in Windows Package Manager 1.4 (released just a few days ago), Microsoft has added full support for portable packages to Winget. This is ideal for distributing step.exe and step-ca.exe.

Prior to 1.4, Winget packages had to be full-blown MSI installers.

Portable packages, which are described more fully here, can be as simple as a manifest file and a ZIPped binary fetched from a URL. Here's the manifest schema, and here's documentation on how to create and validate a manifest file using Microsoft's tools鈥攚hich we probably won't need to use for this.

To submit a package to the Winget registry, you open a pull request on microsoft/winget-pkgs. The full package submission process is documented here.

馃憠 Here's an example of a Winget portable package manifest for fly.io's flyctl.exe.

I think we have three options here:

  1. Wait for GoReleaser to add Windows Package Manager support聽goreleaser/goreleaser#2290
  2. Add support to GoReleaser ourselves and submit a PR.
  3. Roll our own yaml for this as a separate part of the release process.

@maraino
Copy link
Collaborator

maraino commented Jan 27, 2023

The actual issue is goreleaser/goreleaser#1295 but it has been stale for a while, so @tashian if you want to go for it I would go for 3 (or 2)

@tashian
Copy link
Contributor

tashian commented Jan 30, 2023

Quick update. I've hand-crafted and tested a step package, and opened this PR. This can serve as a template for us, and now we just need the release process piece.

@tashian
Copy link
Contributor

tashian commented Jan 30, 2023

I've also tested and pushed a step-ca package, in this PR on Microsoft's repo.

@tashian
Copy link
Contributor

tashian commented Jan 31, 2023

@bapho-bush you can now install step with winget install Smallstep.step.

My plan from here is to watch goreleaser/goreleaser#2290 (which has some recent activity) for updates over the next month or so, and I will make manual PRs for step-cli releases in the meantime.

@tashian
Copy link
Contributor

tashian commented Jan 31, 2023

Also (cc @dopey) this GH Action looks promising, and it uses a Windows VM.

@maraino
Copy link
Collaborator

maraino commented Jan 31, 2023

Also (cc @dopey) this GH Action looks promising, and it uses a Windows VM.

Is a windows VM really necessary, looking at the winget PR, it looks like we could templatize the files and use a GH action to do a pull request in a remote repository. We might be able to even use the same strategy for Homebrew.

@tashian
Copy link
Contributor

tashian commented Jan 31, 2023

Also (cc @dopey) this GH Action looks promising, and it uses a Windows VM.

Is a windows VM really necessary, looking at the winget PR, it looks like we could templatize the files and use a GH action to do a pull request in a remote repository. We might be able to even use the same strategy for Homebrew.

A windows VM is definitely not necessary, and I'd prefer not to use one. Just dropped that here as a ref.

winget is indeed similar to how we do Homebrew deploys, and if I don't see any movement on GoReleaser in the next month or two, my plan is to adapt what we do there already.

@dopey
Copy link
Contributor

dopey commented Feb 1, 2023

We'll leave this open until the process is automated.

@tashian tashian changed the title step-cli in winget registry automate step-cli PR in winget registry Feb 1, 2023
@bapho-bush
Copy link
Author

@bapho-bush you can now install step with winget install Smallstep.step.

My plan from here is to watch goreleaser/goreleaser#2290 (which has some recent activity) for updates over the next month or so, and I will make manual PRs for step-cli releases in the meantime.

Glad to hear. Thank you for your job.

@tashian
Copy link
Contributor

tashian commented Aug 28, 2023

#984 contains the automation piece.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement needs triage Waiting for discussion / prioritization by team
Projects
None yet
Development

No branches or pull requests

4 participants