goreleaser release --snapshot --cleanOutput artifacts are written under dist/:
mcpx_<version>_<os>_<arch>.tar.gzchecksums.txt
Tag pushes that match v* trigger .github/workflows/release.yml.
git tag v0.1.0
git push origin v0.1.0The workflow:
- Builds/publishes release artifacts with GoReleaser
- Updates the Homebrew cask in
lydakis/homebrew-mcpx - Publishes
mcpx-goto npm frompackaging/npm - Publishes
mcpx-goto PyPI frompackaging/pypi
GORELEASER_TOKEN: token with repo write access to:lydakis/mcpxlydakis/homebrew-mcpx
NPM_TOKEN: npm publish token with 2FA bypass enabledPYPI_API_TOKEN: PyPI token for themcpx-goprojectAPPLE_DEVELOPER_ID_CERTIFICATE_P12_BASE64APPLE_DEVELOPER_ID_CERTIFICATE_PASSWORDAPPLE_DEVELOPER_ID_APPLICATIONAPP_STORE_CONNECT_API_KEY_P8APP_STORE_CONNECT_KEY_IDAPP_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 repoHOMEBREW_TAP_GITHUB_TOKEN(mapped fromGORELEASER_TOKEN) for tap updates- native
notarize.macossigning/notarization before archiving darwin binaries.
Distribution package publishing uses:
scripts/publish_npm_wrapper.sh <version>scripts/publish_pypi_wrapper.sh <version>
brew tap lydakis/mcpx
brew install --cask mcpx