Skip to content

Commit e9ad3ec

Browse files
tomymaritanoclaudedependabot[bot]github-actions[bot]cursoragent
authored
chore(release): merge main into develop (#578)
Back-merge so the promotion PR #571 can satisfy `main`'s up-to-date requirement. `main` carries release-tooling commits `develop` never received — notably #540 (tag without pushing a bump commit) and #537 (point semantic-release at `dripnex/app`). `main` is authoritative for release tooling, so those come back here. **Why a branch and not `gh pr update-branch`:** GitHub refuses to update a PR whose head is a protected branch. And a direct `develop ← main` PR (#577) deadlocks — `develop` requires the head to be up to date, but `main` is inherently behind `develop`. A branch descended from `develop` with `main` merged in satisfies both. No product changes: release config, workflow, and doc URLs only. `package.json` stays at 0.15.2, which is expected under the post-#540 flow. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Cursor Agent <cursoragent@cursor.com>
1 parent f1e450e commit e9ad3ec

9 files changed

Lines changed: 28 additions & 44 deletions

File tree

.github/workflows/release.yml

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,12 @@ jobs:
5050
run: |
5151
set -o pipefail
5252
npx semantic-release --dry-run 2>&1 | tee /tmp/sr-dry.log
53-
if grep -qE "There are no relevant changes" /tmp/sr-dry.log; then
53+
if grep -qE '\[semantic-release\].*There are no relevant changes, so no new version is released' /tmp/sr-dry.log; then
5454
echo "No release to cut from this push."
5555
echo "released=false" >> "$GITHUB_ENV"
5656
exit 0
5757
fi
58-
if ! grep -qE "next release version is" /tmp/sr-dry.log; then
58+
if ! grep -qE '\[semantic-release\].*The next release version is [0-9]+\.[0-9]+\.[0-9]+' /tmp/sr-dry.log; then
5959
echo "::error::semantic-release dry-run did not announce a next release version."
6060
exit 1
6161
fi
@@ -71,19 +71,17 @@ jobs:
7171
GIT_COMMITTER_EMAIL: github-actions[bot]@users.noreply.github.com
7272
run: npx semantic-release
7373

74-
- name: Verify version bump
74+
- name: Record tag
7575
if: env.released == 'true'
7676
run: |
77-
expected=$(grep -oE "next release version is [0-9]+\.[0-9]+\.[0-9]+" /tmp/sr-dry.log \
78-
| tail -n 1 | awk '{print $NF}')
79-
root_v=$(jq -r .version package.json)
80-
desk_v=$(jq -r .version apps/desktop/package.json)
81-
if [ "$root_v" != "$expected" ] || [ "$desk_v" != "$expected" ]; then
82-
echo "::error::Version mismatch after semantic-release. Expected $expected, got root=$root_v desktop=$desk_v"
77+
expected=$(grep -oE '\[semantic-release\].*The next release version is [0-9]+\.[0-9]+\.[0-9]+' /tmp/sr-dry.log \
78+
| tail -n 1 | grep -oE '[0-9]+\.[0-9]+\.[0-9]+$')
79+
if [ -z "$expected" ]; then
80+
echo "::error::Could not read next version from dry-run log."
8381
exit 1
8482
fi
8583
echo "v$expected" > version.txt
86-
echo "Version bump verified: $expected"
84+
echo "Will tag v$expected (package.json stays on git; Build bumps before packaging)."
8785
8886
- name: Attach What's New
8987
if: env.released == 'true'

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -333,4 +333,4 @@ Renderer (AiPanel) → IPC → Main (ipc-ai.ts) → AIService → ProviderRegist
333333
- **Package docs:** `packages/*/README.md`
334334
- **Technical docs:** `apps/docs-site/`
335335
- **Live docs:** https://dripnex.app/docs
336-
- **GitHub:** https://github.com/dripnex/readide
336+
- **GitHub:** https://github.com/dripnex/app

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ pnpm build # Build all packages
8484

8585
## Questions?
8686

87-
- Open a [GitHub Discussion](https://github.com/dripnex/readide/discussions)
87+
- Open a [GitHub Discussion](https://github.com/dripnex/app/discussions)
8888
- Check existing issues before creating new ones
8989

9090
## License

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Markdown-first, offline-forever desktop note app.
44

55
[![License: MIT](https://img.shields.io/badge/Core-MIT-green.svg)](./LICENSE)
6-
[![Release](https://img.shields.io/github/v/release/dripnex/readide)](https://github.com/dripnex/readide/releases)
6+
[![Release](https://img.shields.io/github/v/release/dripnex/app)](https://github.com/dripnex/app/releases)
77

88
## About
99

@@ -13,8 +13,8 @@ This repository contains the **open-source core** of Dripnex. Core packages are
1313

1414
```bash
1515
# Clone
16-
git clone https://github.com/dripnex/readide.git
17-
cd readide
16+
git clone https://github.com/dripnex/app.git
17+
cd app
1818

1919
# Install
2020
pnpm install
@@ -43,7 +43,7 @@ See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
4343

4444
- [Website](https://dripnex.app)
4545
- [Documentation](https://dripnex.app/docs)
46-
- [Releases](https://github.com/dripnex/readide/releases)
46+
- [Releases](https://github.com/dripnex/app/releases)
4747

4848
## License
4949

apps/desktop/RELEASES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ packaged-app checklist that CI cannot run.
66

77
## Auto-updater
88

9-
- **Repository**: `dripnex/readide`
9+
- **Repository**: `dripnex/app`
1010
- **Channel**: GitHub Releases (stable tags `vX.Y.Z`)
1111
- **Auto-download**: no (asks first)
1212
- **Auto-install**: yes (on quit)

apps/desktop/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@
184184
"publish": {
185185
"provider": "github",
186186
"owner": "dripnex",
187-
"repo": "readide"
187+
"repo": "app"
188188
}
189189
}
190190
}

docs/RELEASE.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,10 @@ CI on that PR is the gate. When it merges:
3131

3232
- **Release** runs on `main`.
3333
- It reads commits since the last tag (`feat` → minor, `fix` → patch).
34-
- It bumps `package.json` + `apps/desktop/package.json`, writes `CHANGELOG.md`,
35-
tags `vX.Y.Z`, opens a **draft** GitHub Release. If the What’s New file
36-
exists, that body replaces the commit dump.
34+
- It tags `vX.Y.Z` on the merge SHA and opens a **draft** GitHub Release.
35+
It does **not** push a version-bump commit to `main` (branch rules require
36+
a PR). Build stamps `package.json` from the tag right before packaging.
37+
If `docs/releases/vX.Y.Z.md` exists, that body is the GitHub notes.
3738
- **Build & Publish** starts from that success (not from the tag push — GitHub
3839
will not let `GITHUB_TOKEN` trigger another workflow via tags).
3940
- All three platforms green → the release is published → electron-updater sees
@@ -53,7 +54,7 @@ gh workflow run "Build & Publish" -f tag=v0.16.0
5354

5455
| What we did | What actually happened |
5556
| ---------------------------------- | --------------------------------------------------------- |
56-
| PAT `GH_TOKEN` as `tomymaritano` | 403 on `dripnex/readide`. Tokens expire. Bots do not. |
57+
| PAT `GH_TOKEN` as `tomymaritano` | 403. Tokens expire. Bots do not. |
5758
| **Run workflow** by hand | Easy to forget. 0.16.0 sat on `main` with no tag. |
5859
| Squash the promotion PR | All `feat` commits vanish. No minor bump. |
5960
| Title `feat(release): cut v0.15.x` | One fake Feature. The real changelog is a single line. |

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@
1212
"homepage": "https://dripnex.app",
1313
"repository": {
1414
"type": "git",
15-
"url": "https://github.com/dripnex/readide.git"
15+
"url": "https://github.com/dripnex/app.git"
1616
},
1717
"bugs": {
18-
"url": "https://github.com/dripnex/readide/issues"
18+
"url": "https://github.com/dripnex/app/issues"
1919
},
2020
"keywords": [
2121
"markdown",

release.config.js

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export default {
2+
repositoryUrl: 'https://github.com/dripnex/app.git',
23
branches: ['main', { name: 'beta', prerelease: true }],
34
plugins: [
45
[
@@ -31,26 +32,10 @@ export default {
3132
},
3233
},
3334
],
34-
'@semantic-release/changelog',
35-
// The @semantic-release/git plugin below only COMMITS files; it does
36-
// not mutate them. Without this exec step, package.json and
37-
// apps/desktop/package.json stay at the previous version even after
38-
// tag/release (the v0.15.0 bug). bump-version.mjs is a pure-ESM,
39-
// zero-dependency script that only touches the `version` field of
40-
// exactly the two files in scope.
41-
[
42-
'@semantic-release/exec',
43-
{
44-
prepareCmd: 'node scripts/bump-version.mjs ${nextRelease.version}',
45-
},
46-
],
47-
[
48-
'@semantic-release/git',
49-
{
50-
assets: ['CHANGELOG.md', 'package.json', 'apps/desktop/package.json'],
51-
message: 'chore(release): v${nextRelease.version} [skip ci]',
52-
},
53-
],
35+
// Do not commit version bumps to main. Branch rules require a PR;
36+
// github-actions cannot push HEAD:main. The tag points at the merge
37+
// SHA; Build & Publish runs bump-version.mjs from the tag name before
38+
// electron-builder so the binary version is still correct.
5439
[
5540
'@semantic-release/github',
5641
{

0 commit comments

Comments
 (0)