@@ -18,7 +18,10 @@ Simply open a `.blockflow` or `.sb3` file in VS Code. The extension will automat
1818
1919``` bash
2020# Install dependencies (from monorepo root)
21- npm install
21+ npm ci
22+
23+ # Build all workspaces, including the extension and its worker dependencies
24+ npm run build
2225
2326# Build the extension
2427cd platforms/vscode
@@ -30,3 +33,30 @@ npm run watch
3033# Package the extension as .vsix
3134npm run package
3235```
36+
37+ ## Releases
38+
39+ The ` Release VS Code Extension ` workflow publishes to the VS Code Marketplace and Open VSX when a
40+ ` vscode-v<version> ` tag is pushed. The tag must match the version in ` platforms/vscode/package.json ` .
41+ The workflow builds all workspaces, packages the bundled extension without npm dependencies, and saves
42+ the ` .vsix ` as a workflow artifact before publishing the same file to both registries.
43+
44+ Configure these repository secrets for the ` openpatch ` publisher:
45+
46+ - ` VSCE_TOKEN ` : VS Code Marketplace personal access token with Marketplace management permission.
47+ - ` OVSX_TOKEN ` : Open VSX personal access token with access to the ` openpatch ` namespace.
48+
49+ To release, update the extension version and root lockfile, commit those changes, then push the matching tag.
50+ For example, from the monorepo root:
51+
52+ ``` bash
53+ npm version 0.1.1 --workspace=platforms/vscode --no-git-tag-version
54+ git add platforms/vscode/package.json package-lock.json
55+ git commit -m " chore(vscode): release 0.1.1"
56+ git tag vscode-v0.1.1
57+ git push origin HEAD
58+ git push origin vscode-v0.1.1
59+ ```
60+
61+ If publishing succeeds in one registry but fails in the other, rerun the failed workflow. Both publish
62+ commands skip versions that already exist.
0 commit comments