Release and Deployment¶
CloudScope uses GitHub Actions, git tags, desktop build workflows, documentation deployment, and Docker deployment to support reproducible scientific software releases.
Release workflow¶
CloudScope uses git tags to create official releases.
Example:
git tag v0.1.0
git push origin v0.1.0
GitHub Actions then executes the release workflow and publishes release artifacts to the CloudScope Releases page.
Official releases are intended to provide long-term reproducibility for scientific analysis.
Desktop application builds¶
CloudScope is distributed as a native desktop application for macOS and Windows.
The desktop application and browser application use the same acqstore backend analysis engine.
macOS¶
The macOS build process includes:
- Build the application bundle.
- Code sign the application.
- ZIP the signed bundle.
- Upload to Apple notarization.
- Wait for notarization approval.
- Staple the notarization ticket.
- Publish the distributable artifact.
Windows¶
The Windows build process generates a distributable ZIP archive containing the CloudScope executable and required runtime files.
Documentation deployment¶
Documentation is built using MkDocs and Material for MkDocs.
GitHub Actions publishes documentation to GitHub Pages:
Docker deployment¶
CloudScope can be deployed as a containerized browser application.
Repository files:
The public deployment runs on Oracle Cloud infrastructure and is exposed through Cloudflare Tunnel:
User data and uploads¶
The public deployment supports:
- sample data loading
- user file upload
.oirfiles.czifiles.tiffiles
Uploaded files remain separate from the CloudScope source repository.
Versioned reproducibility¶
Scientific reproducibility is a primary project goal.
Every official release is associated with:
- git tag
- GitHub Release
- archived source code
- archived documentation
- archived desktop application artifacts
Users can reproduce analyses using the exact software version used to generate prior results.