-
Notifications
You must be signed in to change notification settings - Fork 490
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
Adopt the pre-release extension feature #3716
Comments
We've got this on our radar, but question for you @isidorn: I know VS Code now supports this, but isn't the marketplace still working on full support (especially around supporting extensions to publish with proper semantic versioning, with the necessary pre-release suffixes)? I looked and can't find the issue for the latter, but it's a long open one. |
@andschwa yes, MP is working on supporting full semver versioning. However since the MP is currently in the process of changing their backend infrastructure this will probably take some time. My very very rough estimate, end of 2022 at the earliest. |
Cool, thanks! I'll keep an eye on that and when this is fully supported we'd love to do it. |
@andschwa why is microsoft/vsmarketplace#50 a blocker for us? At least since the updated CI and the CalVer versioning, we don't use any semver suffixes in the published packages, and we only use 3 octets so if you wanted to clearly distinguish Preview from stable, the fourth octet could be used e.g. 2022.02.0.4 |
We use |
@andschwa I'm confused When publishing the vsix why can't you just either append an extra .0/.1 or remove the preview flag on the filename when publishing? EDIT: Nevermind, reading Makes this difficult for calver, because newer versions will bump prerelease people to stable regardless, making it difficult to maintain two long-term tracks. Crappy implementation if you ask me, there should be an option to always stay on pre-release if it is tagged that way. |
@andschwa I did some more thinking on this, why not just append .1 as the forth octet to every preview release? Then just have to make sure a preview always goes out with the stable on releases (which they do today) For instance: 2022.02.1.1 - Prerelease 2022.02.2.1 - Prerelease 2022.03.0.1 - Prerelease etc. |
Unfortunately, I don't think npm likes that forth octet :( it's really annoying... any the marketplace doesn't support |
@TylerLeonhardt right, just trying to think of a workaround for the prerelease tag. |
@SydneyhSmith Assigned to you for investigation! |
I'm pretty sure the versioning issue is sorted out since we no longer maintain two long separate tracks. We really have one extension, and the preview is just exactly that, an early preview of what's planned to go into the stable extension as long at isn't broken. So we don't need full SemVer support any more, and can just use our existing versions like |
Makes sense to me! Upon release you'll probably need to push one last preview extension that implements the deprecated field and points to the "main" extension. |
Awesome! Love seeing this ❤️ We have a mechanism in VS Code for transitioning existing users of "PowerShell Preview" to the new "PowerShell Pre-Release". Sydney and me are discussing to enable this. |
@JustinGrote I don't see any FYI @TylerLeonhardt I need to update the docs, but we actually need to keep |
Oops you are right, this is a backend thing |
@andschwa could change the |
I don't think so, it's embedded in the VSIX isn't it? So it's already been created and signed. It'd be a heck of a hack to unzip it, edit the |
Oh do you unzip the VSIX in order to check the preview property of the manifest? |
No, I check it from the sources that exist next to it in the pipeline (from the ADO checkout step). But to change it "right before the publish" as you suggest would entail editing the VSIX, no? Since Anyway, we do need to revisit it because it appears that the marketplace web page like here shows the assets from the most recent release (even if it was "pre-release") meaning that page shows the "preview" tag and the "preview" icon (which only exist in the pre-release version of the extension). Is this perhaps something that could be fixed upstream? I.e. code the marketplace webpage to display information from the most recent non-pre-release upload? The "version" and "last updated" on the side also are from the pre-release upload, not the stable one. |
In this case, maybe set it to false before packing the VSIX and then set it back to true... or just use an Azure DevOps pipeline variable that you could read later. I'll defer to @isidorn for the Marketplace bug. |
I acknowledge this bug on the Marketplace side. My suggestion - consider just removing the "preview" tag in both cases. |
All right, all right. I'll find another way to pass the pre-release info along from build to package to publish, and will temporarily stop changing the icon to the PowerShell Preview icon (but it's so cute). |
Prerequisites
Summary
Refs: microsoft/vscode#15756
VS Code now supports pre-release extensions. Docs that should help: https://code.visualstudio.com/api/working-with-extensions/publishing-extension#prerelease-extensions
I know powershell has a separate powershell preview extension. Ideally we would deprecate that extension and you would publish pre-release versions. VS Code can migrate your users automatically once you do the adoption.
Let me know what you think.
fyi @TylerLeonhardt
Proposed Design
No response
The text was updated successfully, but these errors were encountered: