All checks were successful
ci/woodpecker/push/ci Pipeline was successful
Add --next installer flag (build-from-source at the next integration branch; MOSAIC_NEXT=1 env equiv; explicit --ref wins). Three-lane install docs (stable @latest / --next prerelease / --dev source) + @next dist-tag pipeline design doc. Green PR-event CI 1626 + review-of-record APPROVE (head 3a5c12a5).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Planned Design — npm @next prerelease lane
Status: PLANNED / not yet built
Current state
tools/install.sh --next provides a prerelease integration lane by building the Mosaic CLI and gateway from source at the permanent next branch. This is correct for validating integration-branch source, but it is slower than the stable npm lane because it downloads the archive, installs workspace dependencies, builds packages, packs local tarballs, and installs those tarballs globally.
Medium-term target
Publish every accepted next integration build to the npm registry under the @next dist-tag, for example:
@mosaicstack/mosaic@0.0.49-next.1
@mosaicstack/mosaic@0.0.49-next.2
Then move tools/install.sh --next from source-build behavior to a fast npm install:
npm install -g @mosaicstack/mosaic@next
The framework archive should still resolve from the matching next source/ref until framework packaging has a registry-backed equivalent.
Pipeline shape
- Trigger on successful CI for
next. - Compute the next prerelease version from the upcoming stable version plus a monotonic prerelease counter (
0.0.49-next.N). - Build and pack publishable packages in CI.
- Publish to the Mosaic Gitea npm registry with dist-tag
next. - Keep
latestuntouched; only main/release promotion can updatelatest. - Teach the installer to prefer
@nextfor the CLI/gateway prerelease lane once the registry tag is reliable.
Guardrails
@nextis mutable prerelease convenience, not a deployment pin.- Stable installs continue to use
@latest. - Contributor validation remains available through
--dev --ref <branch>. - Pipeline must be reproducible and trace every prerelease package back to the source commit on
next.