Skip to content

Releasing ​

ArtifactWhereHow
@himmetkaan/remote-devtools, @himmetkaan/remote-devtools-protocol, @himmetkaan/remote-devtools-mdnsnpmChangesets + the Release workflow
Relay + UI imageghcr.io/hks/remote-devtoolsThe Docker image workflow, on version tags
DocumentationGitHub PagesThe Docs workflow, on every push to main
Desktop appGitHub Releases (desktop-vX.Y.Z)The Desktop release workflow, on desktop-v* tags; see macOS signing

The relay and the UI are not published to npm; they ship inside the Docker image and the desktop app.

npm packages ​

  1. With every user-facing change, add a changeset and commit it with the change:

    bash
    pnpm changeset

    The SDK and the protocol package are versioned together; the mDNS package has its own version.

  2. When changesets reach main, the Release workflow opens (or updates) a Version packages pull request that bumps versions and writes the changelogs.

  3. Merging that pull request publishes the new versions to npm with provenance and tags them. No GitHub release is created: the desktop app's auto-update reads the repository's latest release, which must stay a desktop release.

The workflow needs an NPM_TOKEN repository secret: an npm granular access token with read and write access to the @himmetkaan packages. Prereleases can be made with pnpm changeset pre enter alpha.

Keep SDK_VERSION in sync

packages/sdk-js/src/client.ts reports SDK_VERSION in every hello. pnpm version-packages (run by the workflow) updates it from package.json; a test fails if they differ.

Docker image ​

Push a tag like v0.2.0 to build and publish ghcr.io/hks/remote-devtools:0.2.0 and :latest for linux/amd64 and linux/arm64. The workflow uses the built-in GITHUB_TOKEN; no secret is needed. After the first push, make the package public in the repository's Packages settings.

Documentation ​

The Docs workflow builds this site and deploys it to GitHub Pages. Enable Pages once in the repository settings with Source: GitHub Actions. Preview locally with pnpm docs:dev.

Released under the MIT License.