-
Notifications
You must be signed in to change notification settings - Fork 74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: publish pre-release version to VS Code Marketplace #826
ci: publish pre-release version to VS Code Marketplace #826
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Just some minor comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice idea!
5cc1d54
to
a15e8fb
Compare
a15e8fb
to
309a04e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Thanks for driving this!
From docs:
VS Code Marketplace only support major.minor.patch for extension versions and semver pre-release tags are not supported. Support for this will arrive in the future. Because of this we recommend that extensions use major.EVEN_NUMBER.patch for release versions and major.ODD_NUMBER.patch for pre-release versions. For example: 0.2.* for release and 0.3.* for pre-release. VS Code will auto update extensions to the highest version available, so even if a user opted into a pre-release version and there is an extension release with a higher version, that user will be updated to the released version.
Since
semver pre-release tags are not supported
some workaround has to be created, docs advise usingODD_NUMBER
andEVEN_NUMBER
for minors to differentiate between release and pre-release versions. It seems a little bit counterintuitive, hence together with @tgodzik we concluded that this approach will be easier.Release versions will use
major.MINOR.0
and pre-release ones will usemajor.minor.PATCH
.The
pre-release
job was added which:needs: [release]
because it should run sequentially (in case there is the release, we want to publish pre-release anyway with proper version - bumped both minor and patch)always()
-Causes the step to always execute
- even when release was skipped