Skip to content
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

Publishing universal VSIX failing after platform-specific ones have been published #785

Closed
sophio-japharidze-sonarsource opened this issue Nov 14, 2022 · 11 comments · Fixed by #790
Assignees
Labels
feature-request Request for new features or functionality released

Comments

@sophio-japharidze-sonarsource

Hello dear VSCE maintainers!

Background
We are packaging and publishing our VSCode extension using vsce. We are publishing 4 platform-specific VSIXs, and one universal VSIX. The use case is that in the platform-specific VSIXs we embed the Java runtime that is needed to run the extension, while for the universal VSIX (all other platforms) we use the user’s configured Java runtime.

Problem
Automatic publishing of the universal VSIX (without the target option) after publishing the platform-specific ones is failing with an error

Error: ACompany.an.extension v3.10.0 already exists.

It is worth mentioning that the manual upload of the universal VSIX to the marketplace works without any problems.

Additional information
This issue could be possibly related to the #623

The script that we use for GitHub actions can be found here.

Could you please let us know if this is expected behavior? How could we successfully automate publishing 4 platform-specific VSIXs and finally a universal one for the same version?

Happy to provide you with any additional information,
Thank you in advance,
Sophio

@isidorn
Copy link
Contributor

isidorn commented Nov 17, 2022

@sophio-japharidze-sonarsource thanks for reaching out. Can you share your universal .vsix maybe?
This is not expected behaviour and ideally we can fix this.

@joaomoreno seems like this error is coming from vsce https://github.dev/microsoft/vscode-vsce/blob/df59e0f6d35da9f0e2f6138d82534667a96527a3/src/publish.ts#L179
And not from the Marketplace.

@sophio-japharidze-sonarsource
Copy link
Author

Hello @isidorn, thanks a lot for your reply.

I am unable to attach the VSIX here but you should be able to find the artifacts in the assets of our releases. The first VSIXes, without the platform specified in the title, are the universal ones.

Happy to provide any other details,
Best,
Sophio

@isidorn
Copy link
Contributor

isidorn commented Nov 17, 2022

After discussing more with @joaomoreno we have touched again upon our design decision of platform specific extensions and here is what the docs say: "When publishing platform-specific extensions, a separate package needs to be published for each and every platform that an extension supports. If no package has been published for a platform, the user will see the extension appear as disabled and it can not be installed".

So once an extension version has a platform specific asset, you can no longer publish a non-platform specific asset for that same version. This is a design decision we made and we do not plan to change it.
So for your extension it would be best if you publish for each platform through vsce specifically. I hope that works for your use case.

I am going to go ahead and close this issue as we have no plans to change this right now.
fyi @SaiKanth007 we should probably have the same check on the MP side.

@isidorn isidorn closed this as completed Nov 17, 2022
@felipecrs
Copy link
Contributor

@isidorn, this does not make sense. According to:

VS Marketplace supports publishing both platform-specific and universal vsix for a single version.

@isidorn
Copy link
Contributor

isidorn commented Nov 18, 2022

@felipecrs yes, and I believe that's a bug on the Marketplace. Thus I pinged @SaiKanth007

@SaiKanth007
Copy link

@isidorn

So once an extension version has a platform specific asset, you can no longer publish a non-platform specific asset for that same version. This is a design decision we made and we do not plan to change it. So for your extension it would be best if you publish for each platform through vsce specifically. I hope that works for your use case.

I am afraid this is not true, Marketplace supports publishing platform specific VSIX's and universal in any order. There are good number of extensions in marketplace which have both platform and non-platform VSIX's with non-platform VSIX's being published after platform VSIX (ex: https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode).

I guess we should remove this restriction if we have it on vsce.

@jblievremont
Copy link

@isidorn

This is a design decision we made and we do not plan to change it.

What could make you reconsider this?

With this design, if an extension developer wants to support all platforms and enhance the user experience only for a few platforms, they have to build identical packages for all remaining platforms.

This looks to me like a waste of computing resources (with respect to building a single universal VSIX). Furthermore, it makes the build and publishing process that much more error prone, since each build + publication can fail separately for any reason (network, availability of the service). Finally, this puts the maintenance burden completely on the extension developer's side when the list of platforms supported by VSCode / vsce changes.

Ultimately, I believe the developer experience would be hugely improved by allowing extension developers to publish an additional universal package alongside with the platform specific ones.

@isidorn
Copy link
Contributor

isidorn commented Nov 18, 2022

I just discussed with @joaomoreno and we agreed to investigate to remove this restriction on the vsce side.
We have to check that this does not break any of the other assumptions we are making.

So for now I will reopen this issue, and I will share more information once we have something.
Thanks for understanding.

@github-actions
Copy link

github-actions bot commented Dec 2, 2022

🎉 This issue has been resolved in version 2.15.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@felipecrs
Copy link
Contributor

@joaomoreno just to be completely sure about this:

It means I no longer need to publish one each vsix for every platform, but only the ones I have specific code/binary for. Previously, if I had only binary for Windows x64, I had to build and publish a vsix without any binary for every other target. Now, all I need is to build and publish a target for windows x64, and another one without any --target.

Is my understanding correct?

@joaomoreno
Copy link
Member

Yes, that is correct. Once a restriction on the VS Marketplace, this is now fully supported!

gregvanl pushed a commit to microsoft/vscode-docs that referenced this issue Dec 6, 2022
* Add 1.73 release notes placeholder

* JSONC documentation seems incomplete, doesn't mention trailing commas. Fixes #5728

* VS Code for the Web supports Language Packs!

* Input latency notes

* fix #164628

* Mention that trailing commas in JSONC are discouraged

* Update 1.73 vscode.d.ts commit ID

* news

* Add Settings editor release notes

* Update workspace trust settings picture

* Adding placeholder sections

* Add placeholder

* added notes for include/exclude search result commands

* Update 1.73 Windows keybindings

* Dev Containers release notes

* update

* Issue trackers

* adding release notes

* Release notes

* Add Python release notes

* Update v1_73.md

* VS Code for the Web branch protection release notes

* Add command center content

* Add rounded corners entry

* Update release notes

* Add quick pick styles entry

* Add list codicons update entry

* Add list icon video

* Adding proposed api sections

* Add ts preview section

* Add dev container template info

* Undo non-lfs image

* Reupload with lfs

* Adding md link update

* localization for the web

* add accessibility updates

* Add jupyter release note TODOs

* Add startDebugging release note

* Notable fix

* typos and section reordering

* Jupyter debug release notes

* Add Markdown link occurrence highlighting section

* Update 1.73 settings

* release notes edits

* Add section on md insert links

* Add api sections

* Add dup md section

* Update thank you.

* edit

* Make doc links absolute

* Small edits

* add logging improvements

* add settings profiles improvements

* Add screenshot

* chore: add windows11 context menu notes

* merge editor release notes

* release notes: list.collapseAllToFocus

* Updates merge editor release notes.

* More merge editor release notes

* Merge editor wording improvements

* Add community contributions for vscode-dev-chrome-launcher

* ImageOptim

* Update channel name

* Fix setting value for Pylance auto imports

* Tune image alt text

* Update 1.73 vscode.d.ts commit ID

* Add 1.73 highlights and social image

* Remove Jupyter release notes from deferred release

* Remove the sections on the Jupyter extension

* Update 1.73 social image to remove Jupyter

* Shrink images and optimize .gifs

* Update theme color.

* release notes edits

* Edit theme-color.md

* Update DateApproved

* Add 1.74 release notes placeholder

* Add quick pick title and placeholder guidance

* Incorrect "Request forwarding" conclusion about diagnostics. Fixes #5778

* Update 1.74 settings

* Update 1.74 vscode.d.ts commit ID

* Update 1.74 Windows keybindings

* 1.74 settings updates

* mangle news

* Git - unsafe repositories (#5818)

* Unsafe repository question

* Tweak the message

* Mention accessibility tag

* Add release notes for indicators a11y and WCO

* Clarify WCO re-enablement

* add accessibility, task, terminal updates

* Update release notes

* Dev Container notes

* Thank yous

* Add release notes

* Fix typo

* Implicit activation events

* Polish implicit activation events section

* add release notes

* make link work

* Implicit activation events documentation updates

* Edits and reordering

* Add note

* Typo

* auth bundle improvements

* call out l10n

* VS Code for the Web release notes

* SCM action button

* finalise log api

* Sharing profiles

* document Install Extension from Location command

* Adding TS sections

* Adding sections

* update kernel picker change

* Update jupyter extension changelog

* Jupyter release notes

* Notebook audio cues

* Small edits and formatting

* killOnServerStop release notes

* Exception breakpoints view release notes

* add acknowledgements for 1.74

* Update release notes

* First cut for Python on the Web

* update color referemce

* platform specific extension docs clarifications regarding microsoft/vscode-vsce#785

* release notes: extension signing and verification

fyi @sandy081

* Release notes

* Adds merge editor release notes

* Mentions command to partially accept inline suggestions.

* More Python documentation

* Sell the WCO re-enablement better

* Minor word tweaks

* Elaborate on improved Settings editor a11y

* Add images to Git LFS

* Small edits, reordering, and mention sandbox blog

* 1.74 highlights and social image

* Small updates

* Alt text tuning

* Comments and GHPRI release notes

* update acknowledgements

* release notes: @vscode/vsce

* 🎤 Introduce `search` file location method

Signed-off-by: Babak K. Shandiz <[email protected]>

* Small edits to recent updates

* Edit pass on Python for the Web

* Add tunnels topic to sitemap

* Prep for Insiders snapshot, add images to Git LFS

Signed-off-by: Babak K. Shandiz <[email protected]>
Co-authored-by: Martin Aeschlimann <[email protected]>
Co-authored-by: Daniel Imms <[email protected]>
Co-authored-by: Megan Rogge <[email protected]>
Co-authored-by: Johannes <[email protected]>
Co-authored-by: Raymond Zhao <[email protected]>
Co-authored-by: Matt Bierner <[email protected]>
Co-authored-by: David Dossett <[email protected]>
Co-authored-by: andreamah <[email protected]>
Co-authored-by: Andrea Mah <[email protected]>
Co-authored-by: Christof Marti <[email protected]>
Co-authored-by: SteVen Batten <[email protected]>
Co-authored-by: Logan Ramos <[email protected]>
Co-authored-by: Courtney Webster <[email protected]>
Co-authored-by: Courtney Webster <[email protected]>
Co-authored-by: Joyce Er <[email protected]>
Co-authored-by: Alex Ross <[email protected]>
Co-authored-by: Brigit Murtaugh <[email protected]>
Co-authored-by: bamurtaugh <[email protected]>
Co-authored-by: Tyler Leonhardt <[email protected]>
Co-authored-by: Rob Lourens <[email protected]>
Co-authored-by: Peng Lyu <[email protected]>
Co-authored-by: Sandeep Somavarapu <[email protected]>
Co-authored-by: deepak1556 <[email protected]>
Co-authored-by: Henning Dieterichs <[email protected]>
Co-authored-by: Joao Moreno <[email protected]>
Co-authored-by: Ladislau Szomoru <[email protected]>
Co-authored-by: Luciana Abud <[email protected]>
Co-authored-by: Connor Peet <[email protected]>
Co-authored-by: Joyce Er <[email protected]>
Co-authored-by: rebornix <[email protected]>
Co-authored-by: Dirk Bäumer <[email protected]>
Co-authored-by: isidor <[email protected]>
Co-authored-by: Alex Dima <[email protected]>
Co-authored-by: Babak K. Shandiz <[email protected]>
gregvanl pushed a commit to microsoft/vscode-docs that referenced this issue Dec 7, 2022
* Add 1.73 release notes placeholder

* Initial tunnel updates

* More info and updates

* Typo

* Update desktop

* Wording and flow

* JSONC documentation seems incomplete, doesn't mention trailing commas. Fixes #5728

* VS Code for the Web supports Language Packs!

* add tunnel to ext host configurations table

* Input latency notes

* fix #164628

* Mention that trailing commas in JSONC are discouraged

* Update 1.73 vscode.d.ts commit ID

* news

* Add Settings editor release notes

* Update workspace trust settings picture

* Adding placeholder sections

* Add placeholder

* added notes for include/exclude search result commands

* Update 1.73 Windows keybindings

* Dev Containers release notes

* update

* Issue trackers

* adding release notes

* Release notes

* Add Python release notes

* Update v1_73.md

* VS Code for the Web branch protection release notes

* Add command center content

* Add rounded corners entry

* Update release notes

* Add quick pick styles entry

* Add list codicons update entry

* Add list icon video

* Adding proposed api sections

* Add ts preview section

* Add dev container template info

* Undo non-lfs image

* Reupload with lfs

* Adding md link update

* localization for the web

* add accessibility updates

* Add jupyter release note TODOs

* Add startDebugging release note

* Notable fix

* typos and section reordering

* Jupyter debug release notes

* Add Markdown link occurrence highlighting section

* Update 1.73 settings

* release notes edits

* Add section on md insert links

* Add api sections

* Add dup md section

* Update thank you.

* edit

* Make doc links absolute

* Small edits

* add logging improvements

* add settings profiles improvements

* Add screenshot

* chore: add windows11 context menu notes

* merge editor release notes

* release notes: list.collapseAllToFocus

* Updates merge editor release notes.

* More merge editor release notes

* Merge editor wording improvements

* Add community contributions for vscode-dev-chrome-launcher

* ImageOptim

* Update channel name

* Fix setting value for Pylance auto imports

* Tune image alt text

* Update 1.73 vscode.d.ts commit ID

* Add 1.73 highlights and social image

* Remove Jupyter release notes from deferred release

* Remove the sections on the Jupyter extension

* Update 1.73 social image to remove Jupyter

* Shrink images and optimize .gifs

* Update theme color.

* release notes edits

* Edit theme-color.md

* Update DateApproved

* Add 1.74 release notes placeholder

* Add quick pick title and placeholder guidance

* Incorrect "Request forwarding" conclusion about diagnostics. Fixes #5778

* Edit pass

* Wording polish

* Update 1.74 settings

* Edit pass

* Edit pass

* Polish and feedback

* Wording

* Wording

* Add blog

* Formatting

* Update 1.74 vscode.d.ts commit ID

* Update 1.74 Windows keybindings

* 1.74 settings updates

* A few initial edits and formatting

* mangle news

* Git - unsafe repositories (#5818)

* Unsafe repository question

* Tweak the message

* Mention accessibility tag

* Add release notes for indicators a11y and WCO

* Clarify WCO re-enablement

* add accessibility, task, terminal updates

* Update release notes

* Dev Container notes

* Thank yous

* Add release notes

* Fix typo

* Implicit activation events

* Polish implicit activation events section

* add release notes

* make link work

* Implicit activation events documentation updates

* Edits and reordering

* Add note

* Update remote-even-better.md

* Typo

* auth bundle improvements

* call out l10n

* Update command

* VS Code for the Web release notes

* Add statement

* SCM action button

* finalise log api

* Sharing profiles

* document Install Extension from Location command

* Adding TS sections

* Adding sections

* update kernel picker change

* Update jupyter extension changelog

* Jupyter release notes

* Notebook audio cues

* Small edits and formatting

* killOnServerStop release notes

* Exception breakpoints view release notes

* add acknowledgements for 1.74

* Update release notes

* First cut for Python on the Web

* update color referemce

* platform specific extension docs clarifications regarding microsoft/vscode-vsce#785

* release notes: extension signing and verification

fyi @sandy081

* Release notes

* Adds merge editor release notes

* Mentions command to partially accept inline suggestions.

* More Python documentation

* Sell the WCO re-enablement better

* Minor word tweaks

* Elaborate on improved Settings editor a11y

* Add images to Git LFS

* Small edits, reordering, and mention sandbox blog

* 1.74 highlights and social image

* Small updates

* Alt text tuning

* Comments and GHPRI release notes

* update acknowledgements

* release notes: @vscode/vsce

* 🎤 Introduce `search` file location method

Signed-off-by: Babak K. Shandiz <[email protected]>

* Small edits to recent updates

* Edit pass on Python for the Web

* Add tunnels topic to sitemap

* Prep for Insiders snapshot, add images to Git LFS

* Add new content back to TOC, tune images

* first pass at profiling docs (#5833)

* Edit pass and Audio Cues dropdown image

* Edit pass on new JS profiling topic

* Shrink .gifs

* Edit pass on blog post

* Edit pass on tunnels topic

* Refer to insider version

* Update DateApproved

Signed-off-by: Babak K. Shandiz <[email protected]>
Co-authored-by: bamurtaugh <[email protected]>
Co-authored-by: Martin Aeschlimann <[email protected]>
Co-authored-by: Connor Peet <[email protected]>
Co-authored-by: Daniel Imms <[email protected]>
Co-authored-by: Megan Rogge <[email protected]>
Co-authored-by: Johannes <[email protected]>
Co-authored-by: Raymond Zhao <[email protected]>
Co-authored-by: Matt Bierner <[email protected]>
Co-authored-by: David Dossett <[email protected]>
Co-authored-by: andreamah <[email protected]>
Co-authored-by: Andrea Mah <[email protected]>
Co-authored-by: Christof Marti <[email protected]>
Co-authored-by: SteVen Batten <[email protected]>
Co-authored-by: Logan Ramos <[email protected]>
Co-authored-by: Courtney Webster <[email protected]>
Co-authored-by: Courtney Webster <[email protected]>
Co-authored-by: Joyce Er <[email protected]>
Co-authored-by: Alex Ross <[email protected]>
Co-authored-by: Brigit Murtaugh <[email protected]>
Co-authored-by: Tyler Leonhardt <[email protected]>
Co-authored-by: Rob Lourens <[email protected]>
Co-authored-by: Peng Lyu <[email protected]>
Co-authored-by: Sandeep Somavarapu <[email protected]>
Co-authored-by: deepak1556 <[email protected]>
Co-authored-by: Henning Dieterichs <[email protected]>
Co-authored-by: Joao Moreno <[email protected]>
Co-authored-by: Ladislau Szomoru <[email protected]>
Co-authored-by: Luciana Abud <[email protected]>
Co-authored-by: Joyce Er <[email protected]>
Co-authored-by: rebornix <[email protected]>
Co-authored-by: Dirk Bäumer <[email protected]>
Co-authored-by: isidor <[email protected]>
Co-authored-by: Alex Dima <[email protected]>
Co-authored-by: Babak K. Shandiz <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality released
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants