Skip to content

Commit 8b8eca2

Browse files
Address brad's feedback
1 parent 0571377 commit 8b8eca2

4 files changed

Lines changed: 20 additions & 2 deletions

File tree

.github/workflows/release.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,13 @@ name: Release
1111
#
1212
# Fork verification: push a test tag (for example v0.0.0-test) and confirm the
1313
# workflow attaches all three files to the resulting Release.
14+
# workflow_dispatch runs build-python + build-windows only (publish is tag-only).
1415

1516
on:
1617
push:
1718
tags:
1819
- "v*"
20+
workflow_dispatch:
1921

2022
permissions:
2123
contents: read
@@ -100,6 +102,7 @@ jobs:
100102
publish:
101103
name: Publish GitHub Release assets
102104
needs: [build-python, build-windows]
105+
if: github.ref_type == 'tag'
103106
runs-on: ubuntu-latest
104107
permissions:
105108
contents: write
@@ -116,6 +119,16 @@ jobs:
116119
name: windows-bundle
117120
path: release-assets
118121

122+
- name: Verify release asset set
123+
run: |
124+
set -euo pipefail
125+
ls -la release-assets/
126+
count=$(find release-assets -maxdepth 1 -type f | wc -l)
127+
test "$count" -eq 3
128+
test "$(find release-assets -maxdepth 1 -type f -name '*.whl' | wc -l)" -eq 1
129+
test "$(find release-assets -maxdepth 1 -type f -name '*.tar.gz' | wc -l)" -eq 1
130+
test -f release-assets/CursorChatBrowser-windows.zip
131+
119132
- name: Attach artifacts to Release
120133
uses: softprops/action-gh-release@3bb12739c298aeb8a4eeaf626c5b8d85266b0e65 # v2.6.2
121134
with:

.github/workflows/tests.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,11 @@ jobs:
120120
# ── PyInstaller desktop build (Windows only, once per workflow) ────────
121121
# Closes #44. Builds the onedir bundle and smoke-tests --help so the
122122
# desktop entry point is verified without launching the GUI window.
123+
# pywebview matches release.yml so CI bundles the same graph we ship.
124+
- name: Install pywebview for PyInstaller bundle
125+
if: matrix.os == 'windows-latest' && matrix.python-version == '3.12'
126+
run: python -m pip install 'pywebview>=5.0,<7'
127+
123128
- name: Install PyInstaller
124129
if: matrix.os == 'windows-latest' && matrix.python-version == '3.12'
125130
run: python -m pip install 'pyinstaller>=6,<7'

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ Notable changes will be documented in **[CHANGELOG.md](CHANGELOG.md)** following
265265

266266
### GitHub Releases
267267

268-
Pushing a tag matching `v*` (for example `v0.2.1`) runs [`.github/workflows/release.yml`](.github/workflows/release.yml), which attaches three assets to the GitHub Release:
268+
Pushing a tag matching `v*` (for example `v0.2.1`) runs [`.github/workflows/release.yml`](.github/workflows/release.yml), which attaches three assets to the GitHub Release. Set `[project].version` in `pyproject.toml` to match the tag before you push (for example tag `v0.2.1` requires `version = "0.2.1"`); hatchling names the wheel and sdist from pyproject, not from the git tag.
269269

270270
| Asset | Contents |
271271
|---|---|

cursor-browser.spec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ a = Analysis(
1717
(str(src / "static"), "static"),
1818
],
1919
hiddenimports=[
20-
"webview",
20+
"webview", # pywebview must be installed at build time; hiddenimport alone is not enough
2121
"api.workspaces",
2222
"api.composers",
2323
"api.logs",

0 commit comments

Comments
 (0)