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

[FR] Integration with semantic-release #70

Open
melink14 opened this issue Apr 10, 2022 · 2 comments
Open

[FR] Integration with semantic-release #70

melink14 opened this issue Apr 10, 2022 · 2 comments

Comments

@melink14
Copy link

semantic release is a end to end release automation process which relies on proper semantic versioning to trigger a release whenever a use visible commit is pushed to a release branch.

It handles updating changelog, git tag, package.json/manifest.json and then via a chrome specific plugin I also use it to publish to chrome. It also publishes a release to Github and comments and labels PRs and issues.

I also publsh to Edge but much less frequently because it doesn't have a plugin (and until very recently had no API) and there are some rough edges with the chrome plugin as well.

I could fork the chrome plugin to make an edge plugin using your edge publishing package but thought I'd open an FR here in case there was interest given your recent work.

@louisgv
Copy link
Contributor

louisgv commented Apr 13, 2022

I wonder if managing the version of the manifest would be out of scope for this action. This action was meant to be a step within a project's workflow. So prior to this publish step, dev can have a step prior that does the semantic release routine.

I could fork the chrome plugin to make an edge plugin using your edge publishing package but thought I'd open an FR here in case there was interest given your recent work.

This sounds great👍 I haven't put too much thought about the semantic version bump process yet (for most of my ext, I just bump them manually xD), but given the nature of how these plugin works, maybe you can make it even more generic with bms: https://github.com/plasmo-corp/bms <- this module's goal is to abstract out the extension publishing process for every browser. Thus it would be possible to have a semantic plugin for every store by just interfacing with bms.

@melink14
Copy link
Author

Thanks for the comment. Agree that this package it self probably wouldn't be the right place for it butI've been a big fan of the entire semantic release process in how the different plugins work together (assuming you use conventional commit format etc). I'd consider it for any npm/ext packages you use!

Using bms to create a generic extension publish plugin is not a bad idea (at first glance) though one thing that I've been considering is how to work publish status check into the flow. Compared to things like npm, extensions have a manual review process which means users have to think about if their publish will fail due to already being in progress. (I publish at most once a week due to that for example, though edge takes even longer than chrome for me!)

Thanks for your ideas and feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants