-
-
Notifications
You must be signed in to change notification settings - Fork 22
Closed
Description
Summary
Add cupertino release command that packages databases and uploads them to GitHub Releases automatically.
Implementation
-
ReleaseCommand.swift- Creates zip and uploads to GitHub - Version-matched releases (CLI
0.3.0→ tagv0.3.0) - SHA256 checksum in release notes
-
--dry-runflag for testing -
--repooption for custom repository -
--base-diroption for database location - Handles existing releases (deletes and recreates)
- Uses GitHub API for release creation and asset upload
Usage
# Dry run (creates zip locally, no upload)
cupertino release --dry-run
# Publish to GitHub (requires GITHUB_TOKEN)
export GITHUB_TOKEN=your_token
cupertino release
# Custom repository
cupertino release --repo owner/repoWorkflow
- Refresh databases locally (
cupertino fetch && cupertino save) - Bump version in
Constants.swift - Run
cupertino release
Output
📦 Cupertino Release v0.3.0
📊 Database sizes:
search.db: 1.2 GB
samples.db: 192.2 MB
📁 Creating cupertino-databases-v0.3.0.zip...
✓ Created (228.3 MB)
🔐 Calculating SHA256...
17dac4b84adaa04b5f976a7d1b9126630545f0101fe84ca5423163da886386a6
🚀 Creating release v0.3.0...
✓ Release created
⬆️ Uploading cupertino-databases-v0.3.0.zip...
✓ Upload complete
✅ Release v0.3.0 published!
https://github.com/mihaelamj/cupertino-docs/releases/tag/v0.3.0
Documentation
docs/commands/release/README.md- Main command documentationdocs/commands/release/option (--)/base-dir.md- Database directory optiondocs/commands/release/option (--)/repo.md- GitHub repository optiondocs/commands/release/option (--)/dry-run.md- Local testing flag- Updated
docs/commands/README.md- Added release to commands table - Updated
CHANGELOG.md- Version 0.3.0 entry - Updated
AGENTS.md- Added release to CLI commands table
Related
- Issue Add setup command for instant database download #65 -
setupcommand (consumer side) - Issue Add --remote flag to save command for streaming from GitHub #52 -
--remoteflag
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels