Comments (15)
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.
from semantic-release-vsce.
Just to update, I would prefer to start working on this after microsoft/vsmarketplace#219 gets solved.
from semantic-release-vsce.
is there any kind of workaround to release platform-specific targets yet?
from semantic-release-vsce.
None that I know yet, but I will try to take a better look at this later today.
from semantic-release-vsce.
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.
from semantic-release-vsce.
@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?
from semantic-release-vsce.
I guess both cases are relevant.
from semantic-release-vsce.
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.
from semantic-release-vsce.
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.
from semantic-release-vsce.
@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)...
from semantic-release-vsce.
even though the build job can be done on one machine
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 vsce package
multiple times for each architecture (and set an environment variable with the architecture). Then, you could set up a script that would perform the needed preparations (based on the environment variables set earlier), hooked to the vscode:prepublish
command that vsce
already is set to execute.
Any feedback or ideas are appreciated.
from semantic-release-vsce.
from semantic-release-vsce.
I'm thinking about the following:
- Document a GitHub workflow where we would run
semantic-release --dry-run
, with the purpose of determining whether a release shall be cut and what should be the next version. - Document a GitHub workflow based on this which would only get executed if a release was cut during job 1. Using something like
vsce package --no-git-tag-version <version-from-job-1>
. - Add the ability of publishing existing
*.vsix
files without having to package them, to the plugin. So we archive the .vsix inside job 2 and unarchive later to be consumed by the plugin. - Document a workflow which would consume the
*.vsix
files from job 2 and use the feature added in 3 to correctly publish everything to the VSCE Marketplace.
What do you guys think?
from semantic-release-vsce.
To aid with 1 and 2, I just created the semantic-release-export-data
plugin: https://github.com/felipecrs/semantic-release-export-data.
from semantic-release-vsce.
Closed by #280.
from semantic-release-vsce.
Related Issues (20)
- No way to pass extra options to vsce HOT 8
- Support prereleases HOT 7
- The automated release is failing 🚨 HOT 1
- Update docs example
- "HIGH" Vulnerability found in simple-get dependency HOT 3
- Support package/publish arguments HOT 4
- The Personal Access Token verification has failed HOT 6
- Not working with `@cycjimmy/semantic-release-action` HOT 27
- Check that access token is still valid in verify step HOT 6
- Allow not to publish the extension HOT 2
- Use the `vsce` APIs rather than the CLI
- vsce verify-pat does not seem to use `publisher` from `package.json` HOT 20
- The automated release is failing 🚨
- The automated release is failing 🚨 HOT 2
- Support additional params to package and publish HOT 5
- Reverted release v4.0.0
- Rewrite docs following the other semantic-release plugins
- Support environment variable VSCE_PAT HOT 1
- Verify the token as part of the verifySteps HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from semantic-release-vsce.