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
Add tag-driven publish workflow with GitHub Release (#17)
Pushing a v*.*.* tag now lints, tests, packages, publishes to the VS
Code Marketplace and Open VSX, and creates a matching GitHub Release
with the corresponding CHANGELOG section as the body and the .vsix
attached. workflow_dispatch supports an optional pre-release toggle.
Adds release:patch/minor/major scripts that bump, tag, and push in one
shot to trigger the workflow.
Copy file name to clipboardExpand all lines: PUBLISHING.md
+46-19Lines changed: 46 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,11 +28,47 @@ These steps assume the work that's already in this repo: the `package.json` `pub
28
28
29
29
The token is cached under `~/.vsce`. You won't need to re-paste it for subsequent publishes from the same machine.
30
30
31
-
## Each release
31
+
## Automated release (preferred)
32
32
33
-
1.**Bump the version** in `package.json` (semver). Update `CHANGELOG.md` to add a section for the new version and move items out of `[Unreleased]`.
33
+
Tag-driven via GitHub Actions. Push a `v*.*.*` tag to `main` and the **Publish** workflow (`.github/workflows/publish.yml`) runs lint, format, tests, compile, package, publishes to the VS Code Marketplace and Open VSX, and creates a matching GitHub Release with the `.vsix` attached and the corresponding `CHANGELOG.md` section as the body.
34
34
35
-
2.**Sanity check** — the same checks CI runs:
35
+
### One-time secrets
36
+
37
+
In the repository settings → Secrets and variables → Actions, add:
38
+
39
+
-`VSCE_PAT` — Marketplace PAT (required, see one-time setup above)
40
+
-`OVSX_PAT` — Open VSX PAT (optional; if absent the Open VSX step warns and skips)
41
+
42
+
### Each release
43
+
44
+
1. Update `CHANGELOG.md` — move items out of `[Unreleased]` into a new dated section.
45
+
2. Run one of:
46
+
47
+
```bash
48
+
npm run release:patch # 0.1.0 -> 0.1.1
49
+
npm run release:minor # 0.1.0 -> 0.2.0
50
+
npm run release:major # 0.1.0 -> 1.0.0
51
+
```
52
+
53
+
Each script bumps `package.json`, creates a `Release vX.Y.Z` commit, tags `vX.Y.Z`, and pushes both with `--follow-tags`. The push triggers the workflow.
54
+
55
+
3. Watch the run at <https://github.com/azizbecha/agent-device-vscode/actions/workflows/publish.yml>. The workflow refuses to run if the tag and `package.json` version don't match.
56
+
57
+
4. Verify the listing at `https://marketplace.visualstudio.com/items?itemName=<publisher>.agent-device-vscode`. Open VSX shows up at `https://open-vsx.org/extension/<publisher>/agent-device-vscode`.
58
+
59
+
### Manual dispatch
60
+
61
+
Any time you want a publish without a tag (e.g. re-running a failed publish), use **Actions → Publish → Run workflow** in the GitHub UI. The dispatch supports two checkboxes:
62
+
63
+
-**Publish as pre-release** — adds `--pre-release` to `vsce publish`. Users opted into pre-releases get the new version; everyone else sees the previous stable.
64
+
-**Also publish to Open VSX** — defaults on; uncheck to skip the Open VSX step.
65
+
66
+
## Local publish (fallback)
67
+
68
+
If the workflow is broken or you need to publish from a laptop:
69
+
70
+
1. Bump the version in `package.json` and update `CHANGELOG.md`.
71
+
2. Sanity-check — the same checks CI runs:
36
72
37
73
```bash
38
74
npm run lint
@@ -42,38 +78,29 @@ These steps assume the work that's already in this repo: the `package.json` `pub
42
78
npm run package # produces agent-device-vscode-<version>.vsix
0 commit comments