Skip to content

Latest commit

 

History

History
58 lines (44 loc) · 1.6 KB

File metadata and controls

58 lines (44 loc) · 1.6 KB

Release & Packaging

Local Snapshot (No Publish)

goreleaser release --snapshot --clean

Output artifacts are written under dist/:

  • mcpx_<version>_<os>_<arch>.tar.gz
  • checksums.txt

GitHub Release + Homebrew Cask

Tag pushes that match v* trigger .github/workflows/release.yml.

git tag v0.1.0
git push origin v0.1.0

The workflow:

  1. Builds/publishes release artifacts with GoReleaser
  2. Updates the Homebrew cask in lydakis/homebrew-mcpx
  3. Publishes mcpx-go to npm from packaging/npm
  4. Publishes mcpx-go to PyPI from packaging/pypi

Required GitHub Secrets

  • GORELEASER_TOKEN: token with repo write access to:
    • lydakis/mcpx
    • lydakis/homebrew-mcpx
  • NPM_TOKEN: npm publish token with 2FA bypass enabled
  • PYPI_API_TOKEN: PyPI token for the mcpx-go project
  • APPLE_DEVELOPER_ID_CERTIFICATE_P12_BASE64
  • APPLE_DEVELOPER_ID_CERTIFICATE_PASSWORD
  • APPLE_DEVELOPER_ID_APPLICATION
  • APP_STORE_CONNECT_API_KEY_P8
  • APP_STORE_CONNECT_KEY_ID
  • APP_STORE_CONNECT_ISSUER_ID

Notarization uses standard Apple Developer and App Store Connect secrets configured in GitHub Actions.

GoReleaser uses:

  • GITHUB_TOKEN (auto-provided by Actions) for release assets on the source repo
  • HOMEBREW_TAP_GITHUB_TOKEN (mapped from GORELEASER_TOKEN) for tap updates
  • native notarize.macos signing/notarization before archiving darwin binaries.

Distribution package publishing uses:

  • scripts/publish_npm_wrapper.sh <version>
  • scripts/publish_pypi_wrapper.sh <version>

Install After Release

brew tap lydakis/mcpx
brew install --cask mcpx