Ship discoverable, installable Ubuntu binaries for STAR Suite with low-friction install and clear provenance.
- Phase 1 (Packaging Foundation): implemented (initial)
- Completed:
- Debian packaging skeleton added under
debian/(control,rules,changelog,copyright,source/format,docs). - Release helper scripts added:
scripts/release/build_static_tarball.shscripts/release/build_source_package.shscripts/release/build_deb_binary_package.shscripts/release/create_checksums.sh
- Clean-source Debian binary package build validated on Ubuntu toolchain
(
dpkg-buildpackage -bviascripts/release/build_deb_binary_package.sh). - Post-build package payload validation passed from extracted
.deb:STAR --versiontests/slam/test_snp_mask_build_smoke.shtests/run_solo_smoke.sh
- Automated containerized install/uninstall validator added:
scripts/release/validate_deb_install_uninstall.sh- validates
apt install /path/to/star-suite*.deb, binary presence,STAR --version, andapt purgecleanup on Ubuntu 24.04.
- Packaging/build fixes required for clean export builds:
Depend.listgeneration hardened forparametersDefault.xxd.- explicit
libscrnabuild rule added to core Makefile. remove_y_readsMakefile now preserves distro flags while linking against vendoredhtslibandzlib.
- Debian packaging skeleton added under
- Pending:
- optional validation on additional host OS versions (for example Ubuntu 22.04)
- optional package split decisions
- Completed:
- Phase 2 (Signing and Provenance): implemented (initial)
- Completed:
- source-package signing script:
scripts/release/sign_source_package.sh
- release workflow support for optional source signing from CI secrets:
DEB_SIGNING_KEY(armored private key)DEB_SIGNING_KEY_ID(key fingerprint or key ID)DEB_SIGNING_KEY_PASSPHRASE(optional passphrase)
- source-package signing script:
- Pending:
- production key provisioning/rotation and launchpad credential wiring
- Completed:
- Phase 3 (PPA Publishing): pending
- Phase 4 (GitHub Releases): in progress
- Completed:
- release workflow scaffold for artifact publication
- release workflow builds compatibility tarballs + installer bundle + Debian binary package + Debian source package
- Pending:
- production signing and release key setup
- stable release note templates/badges
- Completed:
- Phase 5 (CI/CD Automation): implemented (initial)
- Completed:
.github/workflows/ci-pr.yml.github/workflows/ci-dev-release.yml.github/workflows/ci-master.yml.github/workflows/release.yml
- Pending:
- Tier B fixture-backed runs in self-hosted/scheduled path
- optional automated PPA upload gate
- Completed:
- Compatibility tarball build:
scripts/release/build_static_tarball.sh --version v0.0.0-test --compat-label glibc234 --glibc-baseline 2.34- output verified:
STAR-suite-v0.0.0-test-linux-amd64-glibc234.tar.gz - release workflow now builds two amd64 tarballs:
glibc234withscripts/release/docker/Dockerfile.build-ubuntu22for broader Linux compatibilityglibc239withscripts/release/docker/Dockerfile.build-ubuntu24for current systems
- Installer bundle build:
scripts/release/build_installer_bundle.sh --version v0.0.0-test --tarball <glibc234> --tarball <glibc239>- output verified:
STAR-suite-v0.0.0-test-linux-amd64-installer.tar.gz
- Container runtime validation:
- runtime checks are executed with
scripts/release/docker/Dockerfile.runtime-check - host wrappers:
scripts/release/run_tarball_runtime_container_check.shscripts/release/run_installer_bundle_container_check.sh
- release workflow writes per-container manifests under
dist/release/runtime-manifests/ - validated on March 10, 2026 in clean Ubuntu 22.04 and 24.04 containers:
glibc234tarball:- max referenced glibc symbol:
GLIBC_2.34 - Ubuntu 22.04 runtime packages:
libc6,zlib1g,libssl3
- max referenced glibc symbol:
glibc239tarball:- max referenced glibc symbol:
GLIBC_2.38 - Ubuntu 24.04 runtime packages:
libc6,zlib1g,libssl3t64
- max referenced glibc symbol:
- installer bundle selected
glibc234on Ubuntu 22.04 andglibc239on Ubuntu 24.04
- runtime checks are executed with
- Dynamic Debian binary packaging:
- script implemented and validated:
- build:
scripts/release/build_deb_binary_package.sh --out-dir /tmp/star-release-test/deb - extract:
dpkg-deb -x /tmp/star-release-test/deb/star-suite_*_amd64.deb /tmp/star-deb-root - runtime checks:
/tmp/star-deb-root/usr/bin/STAR --versionSTAR_BIN=/tmp/star-deb-root/usr/bin/STAR tests/slam/test_snp_mask_build_smoke.shSTAR_BIN=/tmp/star-deb-root/usr/bin/STAR tests/run_solo_smoke.sh
- build:
- install/uninstall validation script:
scripts/release/validate_deb_install_uninstall.sh --deb /tmp/star-release-test/deb/star-suite_*_amd64.deb- validates package install and purge lifecycle in a clean
ubuntu:24.04container
- script implemented and validated:
- Debian source packaging:
- script implemented with clean
git archivesnapshot:scripts/release/build_source_package.sh - optional signing script:
scripts/release/sign_source_package.sh --in-dir dist/release/source --key-id <KEY_ID>
- script implemented with clean
- Compatibility tarball runtime check:
- extracted binary reports expected version:
2.7.11b
- extracted binary reports expected version:
- Tier A smoke tests against extracted compatibility tarball binary (
STAR_BIN=<extracted>/bin/STAR):tests/slam/test_snp_mask_build_smoke.sh: passedtests/run_solo_smoke.sh: passed
- Release tested:
v0.50.3- GitHub prerelease assets downloaded from the published release page, not from local build outputs
- Download verification:
SHA256SUMSchecked against the published installer bundle and both published compatibility tarballs
- External-user installer checks:
- host install on a
glibc 2.35machine selectedglibc234andSTAR --versionreturned2.7.11b - manual direct install from the published
glibc234tarball also returned2.7.11b - clean
ubuntu:24.04container install from the published installer bundle selectedglibc239andSTAR --versionreturned2.7.11b
- host install on a
- This confirms the published release assets, checksums, and installer selection behavior match the intended compatibility model outside the repo build environment
- Candidate tag:
v1.0.0 - Release notes:
docs/RELEASE_NOTES_v1.0.0.md - Packaging metadata:
debian/changelogentry1.0.0-1 - Scope added since
v0.94.0: native OCM composite-barcode production mode, native per-sample OCM MEX/Velocyto materialization, updated JAX OCM and MSK 40KO production recipes, adaptive MT downstream packaging, and the current multiome post-MEX handoff docs. - Version note: release artifacts and Debian packages use STAR Suite
1.0.0;STAR --versionreports1.0.0. Upstream provenance is reported bySTAR --upstream-version(2.7.11b), and genome index compatibility is reported bySTAR --genome-compat-version(2.7.4a). - Local caveat: rebuild release binaries only from an idle production checkout
or from CI so no running wrapper observes a partially rebuilt
core/legacy/source/STAR.
- Candidate tag:
v1.0.1 - Release notes:
docs/RELEASE_NOTES_v1.0.1.md - Packaging metadata:
debian/changelogentry1.0.1-1 - Scope added since
v1.0.0: deterministicprocess_featuresfeature-bootstrap handling for CR-compatible dynamic multi-consumer runs and corrected single-thread feature-match position reporting for--crAssignSearchThreads 1. - Version note: release artifacts and Debian packages use STAR Suite
1.0.1;STAR --versionreports1.0.1. Upstream provenance and genome index compatibility remain2.7.11band2.7.4a.
- Candidate tag:
v1.1.0 - Release notes:
docs/RELEASE_NOTES_v1.1.0.md - Packaging metadata:
debian/changelogentry1.1.0-1 - Scope added since
v1.0.3: native CBQ/BINSEQ input support through the shared C++ reader, STAR read-buffer adapter, ordered FASTQ/FASTQ.gz-to-CBQ encoder, STAR mapper/STARsolo/OCM/Flex/SLAM/process_features smoke coverage, and PE-SLAM CBQ divergence testing. - Version note: release artifacts and Debian packages use STAR Suite
1.1.0;STAR --versionreports1.1.0. Upstream provenance and genome index compatibility remain2.7.11band2.7.4a.
-
Candidate tag:
v1.0.3 -
Release notes:
docs/RELEASE_NOTES_v1.0.3.md -
Packaging metadata:
debian/changelogentry1.0.3-1 -
Scope added since
v1.0.2: non-Flex Solo bridge determinism is hardened by canonicalizing worker-local bridge hashes before collapse, aggregating ambiguous cell-barcode evidence deterministically, and using the resolved bridge result for read-accounting statistics. -
Version note: release artifacts and Debian packages use STAR Suite
1.0.3;STAR --versionreports1.0.3. Upstream provenance and genome index compatibility remain2.7.11band2.7.4a. -
Candidate tag:
v1.0.2 -
Release notes:
docs/RELEASE_NOTES_v1.0.2.md -
Packaging metadata:
debian/changelogentry1.0.2-1 -
Scope added since
v1.0.1: exact duplicate UMI rows are combined before 1MM_CR correction on the non-Flex Solo direct inline-hash bridge collapse path. This prevents duplicate exact UMIs split across worker-local bridge hashes from entering the CR correction routine as independent observations. -
Version note: release artifacts and Debian packages use STAR Suite
1.0.2;STAR --versionreports1.0.2. Upstream provenance and genome index compatibility remain2.7.11band2.7.4a.
Use two channels in parallel:
- Launchpad PPA for Ubuntu-native apt discovery and updates.
- GitHub Releases for project-native downloads, release notes, and provenance artifacts.
- Container registry (multi-arch) for reproducible runtime images.
- Primary package:
star-suite - Initial target OS:
- Ubuntu 24.04
- Ubuntu 22.04 compatibility target via release tarball validation
- Build type:
- Dynamic binaries (default runtime path)
- Compatibility tarballs plus installer bundle (portable fallback path)
Per release tag (v*), publish both binary styles:
- Dynamic:
star-suite_<version>_amd64.debstar-suite_<version>_arm64.deb
- Compatibility tarballs:
STAR-suite-<version>-linux-amd64-glibc234.tar.gzSTAR-suite-<version>-linux-amd64-glibc239.tar.gz
- Installer bundle:
STAR-suite-<version>-linux-amd64-installer.tar.gz
- Containers:
biodepot/star-suite:<version>(multi-arch manifest)biodepot/star-suite:latest(stable pointer only)
Notes:
.debremains the preferred Ubuntu installation path.- The installer bundle is the preferred non-
.debinstallation path. - Direct compatibility tarballs are for manual installs and HPC/container edge cases.
v0.*tags are prereleases for testing. They publish release artifacts and a versioned container tag, but do not movelatest.v1.0.0is the first production release and may move thelatestcontainer tag when release CI succeeds.- Native
build_static_tarball.shruns still inherit the host toolchain/glibc baseline. - The CI/release path publishes multiple tarballs because Linux may reject a binary built for a newer runtime environment before STAR Suite starts.
- The installer bundle checks the host environment and selects the highest compatible bundled binary automatically.
- Release artifacts now include runtime-manifest text files captured from clean Ubuntu 22.04 and 24.04 containers.
- Those manifests record the resolved runtime libraries and Ubuntu/Debian package names seen by the validator.
For non-technical users:
- If a downloaded Linux binary does not run, that is usually the operating system rejecting a binary built for a newer system environment.
- STAR Suite itself is not crashing and is not asking the user to install extra libraries manually.
- The release fix is to ship multiple Linux binaries built for different compatibility levels, plus an installer bundle that picks the right one.
For technical users:
- The tarballs are only partially static.
- Current validated runtime SONAMEs are:
libc.so.6libm.so.6libz.so.1libcrypto.so.3
- On Ubuntu 22.04 the validated package set is:
libc6zlib1glibssl3
- On Ubuntu 24.04 the validated package set is:
libc6zlib1glibssl3t64
- The
glibc239asset label tracks the Ubuntu 24.04 build environment. - The March 10, 2026 runtime manifest showed that this build currently references
GLIBC_2.38, so the label is conservative. - The exact resolved package names are recorded in the release
runtime-manifests/artifacts for each container baseline.
- Add Debian packaging metadata under
debian/:control,rules,changelog,copyrightinstall,docs, and post-install metadata as needed
- Define package contents:
- Core binaries (
STAR,star_feature_call,slam_requant,pileup_snp,flexfilter, etc.) - Optional helper scripts (if stable and versioned)
- Core binaries (
- Ensure install paths:
- Binaries under
/usr/binor/usr/lib/star-suite/binwith symlinks - Docs under
/usr/share/doc/star-suite
- Binaries under
- Validate package builds locally:
dpkg-buildpackagein clean Ubuntu 24.04 environment- Confirm
dpkg -iworks on fresh system
- Create release GPG key (team-owned, documented rotation owner).
- Sign source and binary artifacts.
- Publish checksums (
sha256sum) per release. - Include commit hash and build metadata in release notes.
- Create Launchpad project/PPA:
- Suggested name:
ppa:biodepot/star-suite
- Suggested name:
- Upload source package for each release tag.
- Validate install flow:
add-apt-repository,apt update,apt install star-suite
- Add PPA install instructions to top-level
README.md.
- Publish each release tag with:
.debartifacts- checksums
- short install instructions
- compatibility notes (tested Ubuntu versions)
- Add badges/links in top-level
README.md:- Latest release
- PPA install path
- Add
ci-pr.yml:- Trigger:
pull_request - Run fast checks only (
amd64build + Tier A smoke), no publish.
- Trigger:
- Add
ci-dev-release.yml:- Trigger: push to
dev-releaseanddev-release-* - Run integration checks and optional publish to
dev-release-<sha>/dev-release-latest.
- Trigger: push to
- Add
ci-master.yml:- Trigger: push to
master - Build/push multi-arch runtime images (
amd64,arm64).
- Trigger: push to
- Add
release.yml:- Trigger: tags
v* - Build and publish:
- dynamic artifacts (
.debpath, preferably via Launchpad source upload) - compatibility tarball + installer bundle artifacts
- multi-arch image tags
- dynamic artifacts (
- Publish checksums and release notes.
- Trigger: tags
- Add PPA upload step in release workflow:
- upload signed source package
- Launchpad builds native architecture
.debpackages.
- Package installs on clean Ubuntu 24.04 with no manual dependency fixing.
STAR --versionand core smoke tests pass from installed binaries.- Static binary tarball runs on clean target host (documented dependency expectations).
amd64andarm64release artifacts are both generated and verifiable.- Release notes contain:
- STAR Suite version
- commit hash
- dependency list
- known limitations
- PPA and GitHub release both updated for every stable tag.
- Dependency drift across Ubuntu versions
- Mitigation: pin build matrix to explicit Ubuntu versions and run install tests.
- Packaging stale binaries instead of fresh build artifacts
- Mitigation: enforce clean build in CI and verify artifact checksums.
- Signing key management risk
- Mitigation: documented ownership, rotation procedure, and backup policy.
debian/packaging files in repo- Build/install docs in top-level
README.md - Launchpad PPA configured and documented
- GitHub Releases with signed dynamic + static artifacts and checksums
- Multi-arch container images published per release
- CI workflows for repeatable build/test/publish paths
- Add release signing and checksum verification policy (GPG key ownership + rotation).
- Configure Docker Hub and release secrets in GitHub repository settings.
- Add README install section (
aptvia PPA + manual.deb+ installer bundle). - Add optional PPA upload step (guarded by release environment approval).
- Validate install/uninstall behavior on Ubuntu 22.04 as secondary target.