Docker Image Releases
Automatic Release (Recommended)
When you push a git tag matching the patternv*.*.* (e.g., v1.0.0, v1.2.3), the GitHub Actions workflow automatically:
- Builds all three Docker images (backend, worker, frontend)
- Tags images with:
- Version tag:
ghcr.io/shipsecai/studio-{service}:{version} - Latest tag:
ghcr.io/shipsecai/studio-{service}:latest
- Version tag:
- Pushes images to GitHub Container Registry (GHCR)
- Creates a GitHub release with changelog
Creating a Release
Manual Release
You can also trigger a release manually via GitHub Actions UI:- Go to Actions → Release workflow
- Click “Run workflow”
- Enter the version tag (e.g.,
v1.0.0)
Image Tags
Images are tagged as:
All images also have a
:latest tag.
Pulling Images
NPM Package Versioning
Current State
This is a monorepo with workspace packages:These packages are workspace dependencies and are not published to npm. They’re consumed internally within the monorepo.
Versioning Options
Option 1: Manual Versioning (Current)
When to use: Small teams, infrequent releases, packages not published to npm.Option 2: Sync with Docker Release Tag (Recommended)
Since packages aren’t published to npm, sync versions with Docker releases:Option 3: Changesets (For Published Packages)
When to use: If you plan to publish packages to npm.Release Checklist
Before creating a release:- Update CHANGELOG.md (if maintained)
- Run tests:
bun run test - Run typecheck:
bun run typecheck - Run lint:
bun run lint - Update package versions (if syncing):
bun run scripts/sync-versions.ts v1.0.0 - Commit version changes (if any)
- Create and push tag:
git tag -a v1.0.0 -m "Release v1.0.0" && git push origin v1.0.0 - Verify GitHub Actions workflow completes
- Verify images are available in GHCR
- Verify GitHub release is created
Required GitHub Secrets
The release workflow usesGITHUB_TOKEN which is automatically provided by GitHub Actions. No additional secrets are required for GHCR.
Troubleshooting
Images not appearing in GHCR
- Check workflow logs for errors
- Verify
GITHUB_TOKENhaspackages:writepermission - Ensure repository has GitHub Packages enabled
Release not created
- Check workflow logs
- Verify tag format matches
v*.*.* - Check GitHub Actions permissions
Build failures
- Run tests locally:
bun run test - Run typecheck:
bun run typecheck - Check for uncommitted changes
- Verify all dependencies are installed