Somite's current release is source-only. It does not yet publish a managed hosted service or a standalone desktop bundle. Do not attach a partial artifact and describe it as an installable application. Linux x64 is the sole verified direct source-execution target for this release line.
-
Start from a clean checkout of
mainand confirm CI is green. -
Choose the version and update the root,
web,runner, andpackages/workflowpackage.jsonfiles pluspixi.toml. Runnpm install --package-lock-onlyso the lockfile carries the same versions. -
Move relevant
CHANGELOG.mdentries from Unreleased into a dated version section and update comparison links. -
Run the complete gate:
npm ci npm run check npm run smoke:browser npm audit --audit-level=moderate git diff --check
-
Run
pixi install --locked,pixi run setup, andpixi run smokefrom the clean checkout. Setup must pass the source/client size contract. The smoke must complete both direct-runner and browser-to-runner representative validation through real Pixi and Nextflow, retain the evidence, execute the workflow, and download the ZIP without mocked executables. -
Launch
pixi run startwithout rebuilding. Verify runner health, a clean browser console, autosave, local file import, catalog loading, Agent discovery, representative validation, and a frozen export for the same graph revision. -
Review the README from a new-user perspective and verify every command, relative link, requirement, and limitation.
Create and push an annotated tag matching every package version:
release_version="$(node -p "require('./package.json').version")"
npm run check:version -- "v${release_version}"
git tag -a "v${release_version}" -m "Somite v${release_version}"
git push origin "v${release_version}".github/workflows/release.yml accepts only an annotated tag whose commit is
reachable from main, repeats the locked TypeScript and production-browser
gates, verifies the size contract from an unpacked git archive, rejects a tag
that does not match the workspace versions, and runs the real execution smoke.
A separate minimal job receives contents: write only after verification and
creates the release without checking out or executing tagged source. GitHub's
generated source archives are the only release artifacts; do not attach build
directories or partially installable bundles.
Repository administrators should protect main and release tags with required
CI checks and restrict the release environment to maintainers. Those GitHub
settings are part of the publication boundary and cannot be enforced by the
source workflow alone.
The Linux x64 release gate runs both real execution and browser-to-runner smoke. Other hosts remain unverified until their scientific package fixtures can be resolved without changing source-owned requirements.
After publication, verify the release page, source archives, rendered README, license detection, and installation instructions from a fresh directory. Fix forward with a new patch release; do not silently move an existing release tag.