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
description: Perform a regular desktop release from the dev branch. Gathers commits since last release, updates changelog, evaluates mainHash changes, bumps version, and creates release PR.
3
+
description: Perform a regular desktop release from the dev branch. Gather changes since the last desktop tag, update the changelog, choose the desktop release mode in release-plan.json, bump the version, and prepare the release PR.
Perform a regular desktop release. This skill handles the full release workflow from the `dev` branch.
10
+
Perform a regular desktop release from the `dev` branch.
11
+
12
+
This workflow is now file-driven:
13
+
14
+
-`apps/desktop/changelog/next.md` is the human-edited changelog draft.
15
+
-`apps/desktop/release-plan.json` is the human-edited release intent.
16
+
-`pnpm --dir apps/desktop bump` applies both inputs, writes `apps/desktop/release.json`, resets `apps/desktop/release-plan.json`, bumps the version, creates `release/desktop/{NEW_VERSION}`, pushes it, and opens the PR.
17
+
18
+
Important notes:
19
+
20
+
-`mainHash` is still regenerated automatically, but it is **not** the OTA compatibility switch anymore. Do not use it as the release decision point.
21
+
-`runtimeVersion` in `apps/desktop/package.json` is the desktop OTA compatibility key. `apps/desktop/scripts/apply-release-config.impl.ts` writes it during bump.
22
+
- This skill covers the normal `build` and `ota` desktop release flow.
23
+
- Do not recommend or write any other mode. The current implementation only supports `build` and `ota`.
11
24
12
25
## Pre-flight checks
13
26
14
27
1. Confirm the current branch is `dev`. If not, abort with a warning.
15
28
2. Run `git pull --rebase` in the repo root to ensure the local branch is up to date.
16
-
3. Read `apps/desktop/package.json` to get the current `version` and `mainHash`.
17
-
18
-
## Step 1: Gather changes since last release
19
-
20
-
1. Find the last release tag:
29
+
3. Read:
30
+
-`apps/desktop/package.json`
31
+
-`apps/desktop/release-plan.json`
32
+
-`apps/desktop/release.json`
33
+
-`apps/desktop/bump.config.ts`
34
+
4. Record the current:
35
+
-`version`
36
+
-`runtimeVersion`
37
+
-`release-plan.json` contents
38
+
5. Note that `pnpm --dir apps/desktop bump` will push a branch and open a PR. Do not run it without explicit user approval.
39
+
40
+
## Step 1: Gather changes since last desktop release
41
+
42
+
1. Find the last desktop release tag:
21
43
```bash
22
44
git tag --sort=-creatordate | grep '^desktop/v'| head -1
23
45
```
@@ -26,138 +48,170 @@ Perform a regular desktop release. This skill handles the full release workflow
26
48
git log <last-tag>..HEAD --oneline --no-merges
27
49
```
28
50
3. Categorize commits into:
29
-
-**Shiny new things** (feat: commits, new features)
- If there are **NO changes** in `layer/main/` and no meaningful `package.json` changes (only version/mainHash/changelog-related), then mainHash should NOT be updated. Users will get a fast renderer-only hot update.
93
-
- If there are **trivial changes** in `layer/main/` (typo fixes, comment changes, logging tweaks) that don't affect runtime behavior, recommend NOT updating mainHash. Present the changes to the user and ask for confirmation.
94
-
- If there are **meaningful changes** in `layer/main/` (new features, bug fixes, dependency changes, API changes), mainHash MUST be updated. Users will need a full app update.
133
+
If there are no changes to commit, continue.
95
134
96
-
Present your analysis to the user with:
135
+
## Step 5: Run the bump
97
136
98
-
- List of changed files in `layer/main/`
99
-
- A summary of what changed
100
-
- Your recommendation (update or skip mainHash)
101
-
- Ask for explicit confirmation
137
+
Do not execute this step until the user explicitly approves pushing code.
102
138
103
-
## Step 5: Save old mainHash and execute bump
139
+
Run:
104
140
105
-
1. Save the current mainHash from `apps/desktop/package.json` for later comparison.
106
-
2. Verify working tree is clean before bump:
107
-
```bash
108
-
git status --short
109
-
```
110
-
3. Change directory to `apps/desktop/` and run the bump:
111
-
```bash
112
-
cd apps/desktop && pnpm bump
113
-
```
114
-
4. This command will:
115
-
- Pull latest changes
116
-
- Apply changelog (rename next.md to {version}.md, create new next.md)
117
-
- Recalculate mainHash and write to package.json
118
-
- Format package.json
119
-
- Bump minor version
120
-
- Commit with message `release(desktop): release v{NEW_VERSION}`
121
-
- Create branch `release/desktop/{NEW_VERSION}`
122
-
- Push branch and create PR to `main`
141
+
```bash
142
+
pnpm --dir apps/desktop bump
143
+
```
123
144
124
-
## Step 6: Restore mainHash if skipping update
145
+
This command currently does all of the following:
125
146
126
-
If Step 4 decided mainHash should NOT be updated, restore the old value now. The bump has already committed, pushed, and created the PR on a new release branch, so we amend the commit and force push. This is safe because the release branch was just created.
0 commit comments