-
-
Notifications
You must be signed in to change notification settings - Fork 13
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
Support platform-specific targets #189
Comments
Answering the PR title: definitely. I don't see why not. Except for microsoft/vscode#23251 (comment). I'm not sure if it was already solved, because if not, I don't know yet how it would work with semantic-release. |
Just to update, I would prefer to start working on this after microsoft/vsmarketplace#219 gets solved. |
is there any kind of workaround to release platform-specific targets yet? |
None that I know yet, but I will try to take a better look at this later today. |
I think that a possible workaround is to leave the normal configuration of semantic-release-vsce to publish the generic platform, and use the semantic-release GitHub Action to run subsequent steps (like building and publishing multiple platform targets using vsce directly). Here is how to use the GitHub Action and how to run subsequent steps if a release is cut: Here is an example on how to build and publish for multiple platforms: https://github.com/microsoft/vscode-platform-specific-sample I'm thinking about implementing it in vscode-shellcheck. |
@GitMensch @mbehr1 out of curiosity, in your use-cases, do you actually need to build the extension in the target architecture, or it's only about downloading the correct binaries to package inside of it? |
I guess both cases are relevant. |
But there isn't much the semantic-release-vsce plugin can do if the build itself needs to happen in a machine different than the one which the plugin is running. |
I agree that this would only work if the file is downloaded as part of the CI that triggers the actual build in a docker container/via ssh/... before. |
@felipecrs see my use case here: https://github.com/mbehr1/dlt-logs/blob/8da25076e906ade96d01d7765badef8b0a2fe08d/.github/workflows/release.yml#L43 I need to build the binaries as well (even though the build job can be done on one machine). I removed/disabled the -vsce plugin for now but still use semantic-release to determine the next version (as I need the new version as build input). For now I trigger a 2nd workflow after the semantic-release (which is a bit poor as e.g. failures would be detected too late)... |
Can even the Windows and MacOS ones be done in Ubuntu? I'm thinking about adding some kind of matrix support in the plugin itself, something like: {
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
["semantic-release-vsce", {
"archs": ["amd64", "aarch64"]
"packageVsix": true
}],
["@semantic-release/github", {
"assets": [
{
"path": "*.vsix",
"label": "Extension File"
},
]
}],
]
} Which would cause the plugin to call Any feedback or ideas are appreciated. |
Can the Windows and MacOS ones be done in Ubuntu?
Depends on the plugin and architecture, but the Win32 can "in general" be compiled and provided directly, using cross compilation like MinGW.
|
I'm thinking about the following:
What do you guys think? |
To aid with 1 and 2, I just created the |
Closed by #280. |
As far as I've seen there is no config option to handle this vsce 1.99.+ feature - is there?
More details found at https://code.visualstudio.com/api/working-with-extensions/publishing-extension#platformspecific-extensions and a CI sample at https://github.com/microsoft/vscode-platform-specific-sample
The text was updated successfully, but these errors were encountered: