Release Process
This project uses GitHub Actions to automate the release process.
Prerequisites
- GitHub CLI (
gh) installed and authenticated. - Write permissions to the repository.
Creating a Release
To streamline the release process:
Update Version: Run the
set-versionscript to update the version inpackage.jsonfiles. Theworkspace-serverwill now dynamically read its version from itspackage.json.bashnpm run set-version <new-version> #0.0.x for exampleCommit Changes: Commit the version bump and push the changes to
main(either directly or via a PR).bashgit commit -am "chore: bump version to <new-version>" git push origin mainCreate Release: Use the
gh release createcommand. This will trigger the GitHub Actions workflow to build the extension and attach the artifacts to the release.bash# Syntax: gh release create <tag> --generate-notes gh release create v<new-version> --generate-notes
What happens next?
- GitHub Actions Trigger: The
release.ymlworkflow is triggered by the new tag. - Build: The workflow builds the project using
npm run build. - Package: It creates a
workspace-server.tar.gzfile containing the extension. - Upload: The workflow uploads the tarball to the release you just created.
Manual Release (Alternative)
If you prefer not to use the CLI, you can also push a tag manually:
git tag v1.0.0
git push origin v1.0.0This pushes the tag to GitHub, which triggers the release workflow to create a release and upload the artifacts. However, using gh release create is recommended as it allows you to easily generate release notes.