Skip to content

feat(packaging): publish codeguard to npm and PyPI#29

Merged
alxxjohn merged 1 commit into
mainfrom
feat/npm-pypi-packaging
Jul 3, 2026
Merged

feat(packaging): publish codeguard to npm and PyPI#29
alxxjohn merged 1 commit into
mainfrom
feat/npm-pypi-packaging

Conversation

@alxxjohn

@alxxjohn alxxjohn commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Add thin wrapper packages that ship the prebuilt GoReleaser binaries to npm (@devr-tools/codeguard launcher + per-platform optionalDependencies) and PyPI (per-platform wheels). No Go toolchain or network access at install time.

  • packaging/extract-binaries.sh stages the 4 release archives (darwin/linux x amd64/arm64; no Windows, tar.gz, codeguard_v).
  • npm: build.sh assembles the launcher + platform packages; launcher shim resolves the host optionalDependency and execs the binary.
  • PyPI project is devr-codeguard (plain codeguard is taken); the installed command is still codeguard — distribution name and data-script name are decoupled in build_wheels.py.
  • release.yml gains publish-npm and publish-pypi jobs (stable-only, OIDC trusted publishing). Because release.yml is a reusable workflow called by cd.yml, the trusted publishers must be configured against cd.yml.

Verified locally against v0.7.0: npm dry-run + install-simulation, twine check on all 6 wheels, and pip install devr-codeguard yielding a working codeguard command.

Add thin wrapper packages that ship the prebuilt GoReleaser binaries to
npm (@devr-tools/codeguard launcher + per-platform optionalDependencies)
and PyPI (per-platform wheels). No Go toolchain or network access at
install time.

- packaging/extract-binaries.sh stages the 4 release archives (darwin/linux
  x amd64/arm64; no Windows, tar.gz, codeguard_v<ver>_<os>_<arch>).
- npm: build.sh assembles the launcher + platform packages; launcher shim
  resolves the host optionalDependency and execs the binary.
- PyPI project is `devr-codeguard` (plain `codeguard` is taken); the
  installed command is still `codeguard` — distribution name and data-script
  name are decoupled in build_wheels.py.
- release.yml gains publish-npm and publish-pypi jobs (stable-only, OIDC
  trusted publishing). Because release.yml is a reusable workflow called by
  cd.yml, the trusted publishers must be configured against cd.yml.

Verified locally against v0.7.0: npm dry-run + install-simulation, twine
check on all 6 wheels, and `pip install devr-codeguard` yielding a working
`codeguard` command.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@alxxjohn alxxjohn merged commit bf39a7a into main Jul 3, 2026
13 checks passed
@alxxjohn alxxjohn deleted the feat/npm-pypi-packaging branch July 3, 2026 17:44
alxxjohn added a commit that referenced this pull request Jul 3, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.8.0](v0.7.0...v0.8.0)
(2026-07-03)


### Features

* **packaging:** publish codeguard to npm and PyPI
([6a03f0e](6a03f0e))
* **packaging:** publish codeguard to npm and PyPI
([#29](#29))
([bf39a7a](bf39a7a))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant