mirror of
https://github.com/giancarloerra/socraticode.git
synced 2026-07-03 14:05:21 +02:00
3fe245c2f5
`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.