GabeDuarteM / semantic-release-chrome

Set of semantic-release plugins for publishing a Chrome extension release
https://www.npmjs.com/package/semantic-release-chrome
MIT License
43 stars 16 forks source link

Multiple release branches/channels #24

Closed craigsketchley closed 2 years ago

craigsketchley commented 5 years ago

I'm wondering if you have plans to support multiple release branches (which is currently in semantic-release beta) and what that might look like? I've currently patched my own fork but I'm not convinced it's the best approach. I'll create a PR so we can discuss the approach.

GabeDuarteM commented 5 years ago

Hi @craigsketchley ✋ ✋

First of all, thank you for the PR! This is indeed an interesting feature! At the moment, I don't have a clear picture of how we could do it best, or even if we should do it at all, as natively, Chrome's webstore does not support beta releases. I'm not sure how extensions are currently dealing with beta releases, or if they do those kind of releases at all 🤔

Do you know perhaps any extension that does this kind of releases?

craigsketchley commented 5 years ago

Hey @GabrielDuarteM - no worries, thanks for the plugin!

Yeah, totally. Whilst they don't have explicit beta releases, you can set up a separate application with different 'Visibility options' (i.e. Unlisted, or to a group of Trusted Testers). That's essentially the route I've taken - in addition to our production release (released from master), I have version of my extension that is released to beta users for internal testing (released from next). Whilst not ideal, it is working for us - but I totally understand if that's not something that you'd want to support.

firemuzzy commented 1 year ago

hey @craigsketchley can we re-consider this and and it. I am working on adding a beta version to my extension which will automatic nightly release of an extension and having a separate chrome extension is the only way to do it. Having different extensions and hence the need for different extensionId for release is the most elegant way to do it.

Having things go through the chrome store hooks into the extension auto updating pipeline so my internal users don't have to worry about downloading a new build of the beta extension every time.