Skip to content

Publish Chocolatey package #42

@AThraen

Description

@AThraen

Summary

Add a Chocolatey package alongside the existing winget release so Windows users with Chocolatey can install / upgrade CSM via `choco install codeshellmanager`.

Background

Releases already produce a signed MSI installer (`.github/workflows/build.yml`) and auto-submit it to winget (`.github/workflows/winget.yml` via vedantmgoyal9/winget-releaser) on the `release: released` event. Chocolatey is the other major Windows package manager and a one-liner install path for many developers.

What's needed

  • A `.chocolatey/` folder with the package skeleton: `codeshellmanager.nuspec`, `tools/chocolateyinstall.ps1`, `tools/chocolateyuninstall.ps1`, `tools/LICENSE.txt`, `tools/VERIFICATION.txt`
  • Install script: download the signed MSI from the GitHub Release for the matching version (URL pattern `https://github.com/umage-ai/CodeShellManager/releases/download/v\$version/CodeShellManager-\$version.msi\`), verify SHA256, run `Install-ChocolateyInstallPackage` with msi installer type
  • Uninstall script: `Uninstall-ChocolateyPackage` against the recorded MSI product code
  • New workflow `.github/workflows/chocolatey.yml` triggered on `release: released` (mirroring `winget.yml`):
    • Download the MSI from the just-published release
    • Compute the SHA256 and template it into `chocolateyinstall.ps1`
    • `choco pack` and `choco push` to community.chocolatey.org with `CHOCO_API_KEY` repo secret
    • Should be `workflow_dispatch`-able with a `tag` input for backfill / retry

Open questions

  • Initial package submission to chocolatey.org requires moderator review (single-maintainer or team account?). After approval, automated pushes typically go through faster
  • Whether to also publish the portable ZIP as a separate `codeshellmanager.portable` package (Chocolatey convention) — initial scope: just the MSI install
  • Icon: chocolatey wants a square icon URL; check whether the existing app icon can be hosted from raw.githubusercontent.com or needs a separate CDN

Notes

  • Maintainer needs a chocolatey.org account; package id `codeshellmanager` (or `umage-codeshellmanager` if the bare name is taken)
  • Add a `CHOCO_API_KEY` secret once the account exists
  • After the first successful publish, document the install command in README alongside the winget one

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