You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: enhance release management with storage integration and verbose error handling
- Introduced `StorageClient` for uploading and downloading release snapshots to/from Firebase Storage.
- Updated `release create` command to upload snapshots and store their paths in Firestore.
- Enhanced error handling in release commands to provide verbose output for debugging.
- Modified README to reflect new command options and clarify the release creation process.
- Added tests for storage client functionality and updated existing tests to accommodate changes in snapshot handling.
-**release use** — `--app <alias>` — App alias (default: `default`)
106
+
-**release use** — `--hash <hash>` — Non-interactive: use release by hash
105
107
-**release use** — `--hash <hash>` — Non-interactive: use release by hash (printed by `release list`)
106
108
107
109
### `ensemble add`
@@ -158,14 +160,12 @@ To release a new version, go to GitHub → Actions → run the workflow **Releas
158
160
159
161
You can save and use snapshots of your app state in the cloud:
160
162
161
-
- **Create a release from cloud:** After you have pushed and verified that the app is working as expected, run **`ensemble release create`** to save a snapshot (release) of the **current cloud state** with an optional message.
163
+
- **Create a release from local state:** After you have local changes you want to “tag”, run **`ensemble release create`** to save a snapshot (release) of the **current local app state** with an optional message.
162
164
- **List releases:** Run **`ensemble release list`** to see recent releases.
163
165
- **Use a release locally:** Run **`ensemble release use`** to choose a release and update **local files only** to that snapshot. Then run **`ensemble push`** to apply that state to the cloud.
164
166
165
167
When you run `ensemble release`**without a subcommand**in an interactive terminal, the CLI opens an interactive menu that lets you choose between **create**, **list**, and **use**. In non-interactive environments (e.g. CI), you must call an explicit subcommand such as `ensemble release list` or `ensemble release use --hash <hash>`.
166
168
167
-
Releases are retained for**30 days**; after that they are deleted automatically by Firestore TTL.
168
-
169
169
### Exit codes
170
170
171
171
- `0` — Command completed successfully (including “Up to date. Nothing to push/pull.”).
0 commit comments