On a push to a non-trunk branch, do a "quick" test.
On a push to the trunk branch, or a PR (or manual dispatch), run the full set of all tests against the targeted supported major versions.
On a push to the trunk branch, or a PR (or manual dispatch), run the build to confirm that the vsce build is happy.
On a push to the trunk branch, or a PR (or manual dispatch), do a CodeQL analysis.
Release workflow
On a push to the trunk branch, run the test workflow
Check both whether the package's version field has changed, and if that version's value already exists in a known release, to determine if we should proceed with building and releasing.
If the version field has updated and a tag does not already exist for that version, it will
Build the npm pack
Build the vsce package
Create a draft release with the new version tag.
After creating the release it will publish the package to GH and npm.
Requires a repository secret NPM_TOKEN.
Dependabot
daily check for updates to action's versions.
weekly check for updates to npm versions.
package[-lock].json
Add xvfb-maybe virtual display to run electron tests in headless workflow.
Scripts: separate lint from test, and add clean.
Update lockfile to be in sync (i.e. npm ci-able) with the package json.
CI/CD
Test workflow
Release workflow
npm pack
vsce package
NPM_TOKEN
.Dependabot
package[-lock].json
xvfb-maybe
virtual display to run electron tests in headless workflow.npm ci
-able) with the package json.