Releasing
July 30, 2026 ยท View on GitHub
This repository has two release tracks: stable and daily.
Prerequisites
- GitHub Actions must have a
VSCE_PATsecret that can publish to theToppyMicroServicesMarketplace publisher. - The
marketplaceGitHub environment must require an authorized reviewer. - Stable releases are published from GitHub release tags.
- Daily releases are published by the scheduled GitHub Actions workflow.
Stable Release
- Update
package.jsonto the intended stable version if needed. Keep the existing major version line and update the minor or patch version instead of bumping the major version. - Commit and push the release changes on
master. - Wait for all required push CI workflows to pass.
auto-stable-release.ymlcreates the matching tag and GitHub Release, then dispatchesstable-release.yml. - Approve the waiting
marketplaceenvironment deployment after checking the tag, version, and commit. stable-release.ymlbuilds, tests, audits, and packages the VSIX; generates an SPDX SBOM; publishes build-provenance and SBOM attestations; publishes to the Marketplace stable channel; and uploads the VSIX and SBOM to the GitHub Release.
For a manual recovery release, create and publish the matching GitHub Release and dispatch stable-release.yml with that tag. The same environment approval and validation steps still apply.
Daily Release
daily-release.ymlruns every day or on manual dispatch.- The workflow builds, tests, and packages a VSIX.
- The workflow refreshes the rolling GitHub
dailyprerelease. - The workflow attaches a summary of open pull requests, CodeQL alerts, and Dependabot alerts to the daily prerelease notes.
Versioning
- Stable versioning:
1.2.3 -> 1.2.41.2 -> 1.3.0
- Stable releases must not bump the major version. Stay on the current major line and update only the minor or patch version.
- Daily versioning:
1.2.3 -> 1.3.<run_number>1.2 -> 1.3.<run_number>
The daily prerelease line intentionally stays ahead of the last stable minor version for GitHub preview artifacts only. Marketplace publication uses stable releases.