Files
socraticode/.github
Giancarlo Erra 3fe245c2f5 ci(extension): add lint, build, and dual-marketplace release workflows
`extension-ci.yml`: triggers on push and PR to `main` whenever anything
in `extension/` changes. Runs lint, typecheck, build, and `vsce
package`, then uploads the resulting `.vsix` as an artefact for manual
smoke testing (download from the Actions run, install via "Extensions:
Install from VSIX..." in any VS Code-compatible editor).

`extension-release.yml`: triggers on `v*` tags so engine release tags
fire the extension release in lockstep, with manual dispatch as a
fallback. Builds the `.vsix`, then publishes to:

- VS Code Marketplace via `vsce publish` (using the `VSCE_PAT` repo
  secret).
- Open VSX Registry via `ovsx publish` (using the `OVSX_PAT` repo
  secret).

When triggered by a tag, also attaches the `.vsix` to the GitHub
release so users on Open VSX-less editors can grab it directly.

Both workflows are scoped to the `extension/` working directory so
engine-only changes don't trigger them, and they rely on the
extension's own `package-lock.json` for npm caching. Permissions
follow least-privilege: workflow-level `contents: read`, with
`contents: write` granted only to the publish job for the GitHub
release upload step.
2026-05-02 18:31:47 +01:00
..