install-cli-action icon indicating copy to clipboard operation
install-cli-action copied to clipboard

feat: add Windows support

Open marcelotrevisani opened this issue 11 months ago • 7 comments

as the user of the other PR is unresponsive I am creating this PR, I did some small modifications and I am put him as a co-author of the commit as well

marcelotrevisani avatar Feb 12 '25 09:02 marcelotrevisani

⚠️ This PR contains unsigned commits. To get your PR merged, please sign those commits (git rebase --exec 'git commit -S --amend --no-edit -n' @{upstream}) and force push them to this branch (git push --force-with-lease).

If you're new to commit signing, there are different ways to set it up:

Sign commits with gpg

Follow the steps below to set up commit signing with gpg:

  1. Generate a GPG key
  2. Add the GPG key to your GitHub account
  3. Configure git to use your GPG key for commit signing
Sign commits with ssh-agent

Follow the steps below to set up commit signing with ssh-agent:

  1. Generate an SSH key and add it to ssh-agent
  2. Add the SSH key to your GitHub account
  3. Configure git to use your SSH key for commit signing
Sign commits with 1Password

You can also sign commits using 1Password, which lets you sign commits with biometrics without the signing key leaving the local 1Password process.

Learn how to use 1Password to sign your commits.

Watch the demo

github-actions[bot] avatar Feb 12 '25 09:02 github-actions[bot]

if you could take a look @edif2008 please

marcelotrevisani avatar Feb 12 '25 10:02 marcelotrevisani

Commits are signed

marcelotrevisani avatar Feb 12 '25 22:02 marcelotrevisani

@marcelotrevisani I wonder if the logic from install-cli.ps1 could be simplified by downloading the CLI from winget? We automatically update WinGet with each cli version we release (for stable only). Maybe if we use a winget-cli download action, we could then simply do winget install 1password-cli

AndyTitu avatar Feb 13 '25 09:02 AndyTitu

Hi, I might be wrong but I think winget is not available by default in the windows GitHub runners. And this current solution is more generic. That would simplify the logic but will add a new step to guarantee that winget is installed. Because self hosted runners might not have it as well

marcelotrevisani avatar Feb 13 '25 10:02 marcelotrevisani

Gentle ping @AndyTitu

marcelotrevisani avatar Feb 18 '25 15:02 marcelotrevisani

Sorry for pinging but that is blocking us to use 1password with gh actions and we dont want to have one setup for windows and another for unix-like OS.

marcelotrevisani avatar Feb 18 '25 15:02 marcelotrevisani

@AndyTitu ?

marcelotrevisani avatar May 23 '25 11:05 marcelotrevisani

cc @SimonBarendse

marcelotrevisani avatar May 23 '25 11:05 marcelotrevisani

@marcelotrevisani Thank you for your contribution ❤️ We really appreciate the effort you put into adding Windows support.

After reviewing the feature in more detail, we decided to move forward with a TypeScript-based implementation to improve cross-platform support and maintainability.

You can check out the implementation here: #16

Thanks again for your work! 🙌

volodymyrZotov avatar Jul 22 '25 19:07 volodymyrZotov