![]() ![]() Spoiler: I will use semantic-release for that □ This is really not handy, I want the version to be set according to my commit conventions automatically, with automatic release notes generation. use vsce publish 2.0.1 to mention a specific version.use vsce publish minor for example (or major/patch accordingly) to automatically increment the version.change the version field in package.json and call vsce publish.In addition, there is also a gap in how the extension version is set during publishing. ![]() Those are manual steps needed to be taken, less than ideal! Once you have all that you can package, publish and unpublish your extension using vsce. create a publisher (the publisher name has to match the publisher section in package.json).get a personal access token from Azure DevOps.The first things you need to do to set the ground is to follow the publishing docs and especially do the following: The entire release and publish process is built on the vsce tool. This part is actually relatively good in the formal docs, they specifically mention a GitHub Action that runs the tests on Mac, Windows and Linux, and I definitely used it. Very soon I realized that VS Code’s documentation to how to write an extension is really good - I found myself writing and locally-debugging my new Typescript extension in no time, but then it occurred to me that the full CI/CD for it that Microsoft suggests in their docs is a bit lacking: Tests It all began when I wanted to write a small VS Code extension that will allow me to right-click on a Yaml file and apply/delete it from my local Kubernetes cluster. One last thing - I wanted to do all of that based solely on GitHub Actions □ So I need nothing but the GitHub repository to configure and run everything. Publish: publish the new version to Visual Studio’s marketplace.Release: create a new GitHub release with automatic release notes based on Angular Commit Message Conventions.Test: run the tests on Mac, Windows and Linux.My basic requirement was to build an automatic CI/CD that will allow me to do the following upon pushing a new commit to master branch: This article is about building a full CI/CD pipeline for a VS Code extension using GitHub Actions. ![]()
0 Comments
Leave a Reply. |