Skip to main content

PUBLISH PRE-RELEASE VERSIONS

This guide shows you how to publish pre-release extension versions through the beta and rc channels, and promote them to stable after validation.

Prerequisites

  • A published extension (see Create and Publish)
  • A Swamp account with membership in the extension's namespace collective

Push a beta version

Pass --channel beta to publish to the beta channel:

$ swamp extension push extensions/models/manifest.yaml --channel beta

The version is published to the beta channel. Stable consumers are unaffected — swamp extension pull @name continues to resolve the latest stable version.

Pull the beta for testing

In a CI environment or test repo, pull the beta version:

$ swamp extension pull @mycollective/my-ext --channel beta

This installs the latest beta version. The lockfile records the channel, so subsequent swamp extension update checks stay within beta.

To pin a specific version regardless of channel, use the @name@version form:

$ swamp extension pull @mycollective/my-ext@2026.06.10.1

Promote beta to rc

After integration tests pass, promote the version to the rc channel:

$ swamp extension promote @mycollective/my-ext 2026.06.10.1 --channel rc

The archive content does not change. The version is now visible to --channel rc consumers.

Promote to stable

After validation, promote to stable:

$ swamp extension promote @mycollective/my-ext 2026.06.10.1 --channel stable

The version is now the latest stable release. Default consumers (pull without --channel) receive it on their next update.

This works from either rc or beta — a beta version can skip rc and promote directly to stable.

Search for pre-release versions

To find extensions with pre-release versions available:

$ swamp extension search my-ext --channel rc --channel beta

--channel is repeatable — pass it multiple times to include results from more than one channel. Omitting --channel returns stable-only results.