Skip to content
This repository has been archived by the owner on Oct 1, 2024. It is now read-only.

Release process

Ben McMorran edited this page Feb 24, 2023 · 7 revisions

Production releases are represented by tags on the main branch. Every production release should be preceded by one or more automated nightly pre-releases. Because VS Code follows the Modern Lifecycle Policy, old releases of the extension do not need to be serviced, so there's no need to maintain a separate release branch. Follow these steps to create a new release candidate or production release.

Automated nightly pre-releases

Every night, if there have been changes on the main branch, an Azure DevOps pipeline will automatically build the extension and publish it to the VS Code Marketplace as a pre-release. The pre-release version number is based on current release number but has a date-based patch version of the form YYMMDDRRR where RRR is a number that increments if there are multiple pre-releases in the same day.

Production release

  1. On the main branch, update the version in package.json. For example, "version": "0.5.0". For better or worse, vscode-arduino is effectively following ZeroVer.
    1. Major (first) version is always zero.
    2. Minor (second) version is incremented for each production release.
    3. Patch (third) version is always zero for production releases. Non-zero patch versions are reserved for pre-releases.
  2. Run npm install from the root of the repository.
  3. Update the release date and notes in CHANGELOG.md.
  4. Commit the changes directly to main and push.
git add package.json package-lock.json CHANGELOG.md
git commit -m "Bump to v0.5.0"
git push
  1. Tag the release with a tag that matches the new version and push the tag.
git tag v0.5.0
git push origin v0.5.0
  1. Verify that an Azure DevOps CI build associated with the tag has started.
  2. Once the build finishes, verify that the release appears on GitHub.
  3. Download the release VSIX and upload it to the VS Code Marketplace extension portal.
  4. Once the Marketplace finishes validation steps, verify that you can install the new version of vscode-arduino from the Marketplace within VS Code.
  5. Verify that all issues labeled fixed-pending-release are closed. There are some issues with this automation that we haven't fully flushed out yet.
Clone this wiki locally