Summary
Add GitHub Actions workflows for publishing to Chocolatey and Winget package managers, following the established patterns in google-readonly and atlassian-cli.
Files to Create
Publish Workflows
.github/workflows/chocolatey-publish.yml - Manual workflow to publish to Chocolatey
.github/workflows/winget-publish.yml - Manual workflow to publish to Winget
Test Workflows
.github/workflows/test-chocolatey.yml - CI workflow to validate Chocolatey packaging on PR/push
.github/workflows/test-winget.yml - CI workflow to validate Winget manifests on PR/push
Implementation Notes
Reference implementations:
google-readonly/.github/workflows/chocolatey-publish.yml
google-readonly/.github/workflows/winget-publish.yml
google-readonly/.github/workflows/test-chocolatey.yml
google-readonly/.github/workflows/test-winget.yml
Key patterns:
- Publish workflows are
workflow_dispatch triggered with version input
- Test workflows trigger on
packaging/** path changes
- Chocolatey uses
choco pack and choco push
- Winget uses
wingetcreate to submit to microsoft/winget-pkgs
Required Secrets
CHOCOLATEY_API_KEY - API key for pushing to chocolatey.org
WINGET_GITHUB_TOKEN - GitHub PAT for creating PRs to winget-pkgs
Existing Files
The packaging structure already exists:
packaging/chocolatey/hubspot-cli.nuspec
packaging/chocolatey/tools/
packaging/winget/OpenCLICollective.hubspot-cli.yaml
packaging/winget/OpenCLICollective.hubspot-cli.installer.yaml
packaging/winget/OpenCLICollective.hubspot-cli.locale.en-US.yaml
Effort
Low-Medium - Copy and adapt from google-readonly
Summary
Add GitHub Actions workflows for publishing to Chocolatey and Winget package managers, following the established patterns in
google-readonlyandatlassian-cli.Files to Create
Publish Workflows
.github/workflows/chocolatey-publish.yml- Manual workflow to publish to Chocolatey.github/workflows/winget-publish.yml- Manual workflow to publish to WingetTest Workflows
.github/workflows/test-chocolatey.yml- CI workflow to validate Chocolatey packaging on PR/push.github/workflows/test-winget.yml- CI workflow to validate Winget manifests on PR/pushImplementation Notes
Reference implementations:
google-readonly/.github/workflows/chocolatey-publish.ymlgoogle-readonly/.github/workflows/winget-publish.ymlgoogle-readonly/.github/workflows/test-chocolatey.ymlgoogle-readonly/.github/workflows/test-winget.ymlKey patterns:
workflow_dispatchtriggered with version inputpackaging/**path changeschoco packandchoco pushwingetcreateto submit to microsoft/winget-pkgsRequired Secrets
CHOCOLATEY_API_KEY- API key for pushing to chocolatey.orgWINGET_GITHUB_TOKEN- GitHub PAT for creating PRs to winget-pkgsExisting Files
The packaging structure already exists:
packaging/chocolatey/hubspot-cli.nuspecpackaging/chocolatey/tools/packaging/winget/OpenCLICollective.hubspot-cli.yamlpackaging/winget/OpenCLICollective.hubspot-cli.installer.yamlpackaging/winget/OpenCLICollective.hubspot-cli.locale.en-US.yamlEffort
Low-Medium - Copy and adapt from google-readonly