Skip to content

ci: automatically upload published clients to winget#9213

Merged
thomaseizinger merged 5 commits into
mainfrom
ci/automatically-publish-gui-client
May 26, 2025
Merged

ci: automatically upload published clients to winget#9213
thomaseizinger merged 5 commits into
mainfrom
ci/automatically-publish-gui-client

Conversation

@thomaseizinger

@thomaseizinger thomaseizinger commented May 23, 2025

Copy link
Copy Markdown
Member

This utilizes the https://github.com/vedantmgoyal9/winget-releaser action to automatically submit a PR to the winget repository every time we publish a new version of the GUI / Headless Client.

The bot uses the initial manifest added in microsoft/winget-pkgs#259366 and updates the installer link and hash.

Resolves: #4729

@vercel

vercel Bot commented May 23, 2025

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
firezone ✅ Ready (Inspect) Visit Preview 💬 Add feedback May 26, 2025 10:41pm

@thomaseizinger thomaseizinger changed the title ci: automatically upload published GUI Client to winget ci: automatically upload published clients to winget May 23, 2025
@thomaseizinger
thomaseizinger marked this pull request as ready for review May 26, 2025 20:40
@thomaseizinger
thomaseizinger requested review from Copilot and jamilbk May 26, 2025 20:40

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR automates publishing newly released GUI and headless clients to the Windows Package Manager (winget) and updates the changelogs to advertise the new install option.

  • Adds winget install entries under the Unreleased section for both GUI and headless changelogs on Windows.
  • Introduces a GitHub Actions workflow that triggers on new published releases of GUI and headless clients to submit updates to the winget repository.

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
website/src/components/Changelog/Headless.tsx Added Windows-only Unreleased changelog entry linking to winget
website/src/components/Changelog/GUI.tsx Populated Unreleased section with winget install instruction
.github/workflows/publish-to-winget.yml New CI workflow to publish both clients to winget on release
Comments suppressed due to low confidence (2)

.github/workflows/publish-to-winget.yml:11

  • The startsWith function’s second argument must be a string literal. Wrap gui-client in quotes so it reads startsWith(github.event.release.name, 'gui-client').
if: ${{ startsWith(github.event.release.name, gui-client) }}

.github/workflows/publish-to-winget.yml:29

  • Similarly, headless-client needs to be quoted: startsWith(github.event.release.name, 'headless-client'), otherwise the condition will always fail.
if: ${{ startsWith(github.event.release.name, headless-client) }}

Comment thread .github/workflows/publish-to-winget.yml
@thomaseizinger

Copy link
Copy Markdown
Member Author

@jamilbk This stuff is a bit difficult to test because we only trigger this on release. I think I've set it all up correctly but we ultimately will only know on the next release.

@jamilbk jamilbk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hope that action is legit

Comment thread .github/workflows/publish-to-winget.yml
Comment thread .github/workflows/publish-to-winget.yml Outdated
@thomaseizinger
thomaseizinger force-pushed the ci/automatically-publish-gui-client branch from c929185 to 04af237 Compare May 26, 2025 22:38
@thomaseizinger
thomaseizinger enabled auto-merge May 26, 2025 22:39
@thomaseizinger

Copy link
Copy Markdown
Member Author

@jamilbk Changelog entries have been moved to the previous version because that is the version that is already published.

@thomaseizinger
thomaseizinger added this pull request to the merge queue May 26, 2025
Merged via the queue into main with commit d25e378 May 26, 2025
@thomaseizinger
thomaseizinger deleted the ci/automatically-publish-gui-client branch May 26, 2025 23:04
@jamilbk

jamilbk commented May 26, 2025

Copy link
Copy Markdown
Member

Hm, is the icon up to us to implement or is winget supposed to pick it up automagically?

Screenshot 2025-05-26 at 4 30 02 PM Screenshot 2025-05-26 at 4 30 17 PM

@thomaseizinger

thomaseizinger commented May 27, 2025

Copy link
Copy Markdown
Member Author

Hm, is the icon up to us to implement or is winget supposed to pick it up automagically?

That is probably up to us actually, I didn't read the manifest docs in great detail.

@thomaseizinger

Copy link
Copy Markdown
Member Author

I thought this was a CLI only thing so didn't even think we could set an icon.

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

Successfully merging this pull request may close these issues.

Add the client to the repository winget

3 participants