Skip to content

ci: Add Chocolatey and Winget publish workflows #29

@rianjs

Description

@rianjs

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions