electron-prebuilt-compile icon indicating copy to clipboard operation
electron-prebuilt-compile copied to clipboard

automated releases

Open zeke opened this issue 6 years ago • 7 comments

Let's make it so every time a new version of electron is published, this module updates itself with little or no human intervention.

@paulcbetts what does the current release process look like?

zeke avatar Feb 22 '18 04:02 zeke

In the meantime, please release for ~2.0.0-beta.2~ ~2.0.0-beta.3~ ~2.0.0-beta.4~ :pray:

Update: Thanks @paulcbetts for publishing beta.4 yesterday! :heart:

jacobq avatar Mar 09 '18 01:03 jacobq

Though obviously I've never done it, the commit history suggests that the process goes something like this:

  1. Update version & dependencies.electron in package.json to the new version number.
  2. npm install (install dev deps for building the binaries)
  3. (optional) Commit / push
  4. (optional) Tag
  5. npm publish (prepublish hook runs babel -d lib/ src/ then cp ./node_modules/electron/electron.d.ts .)

jacobq avatar Mar 12 '18 13:03 jacobq

Is there any way that I could put a "bounty" on this? I'd be happy to PayPal someone $20 if it would help get this landed.

EDIT: cryptocurrency also OK

jacobq avatar Jul 16 '18 14:07 jacobq

@jacobq I've just created a simple update script in my fork @ https://github.com/spasma/electron-prebuilt-compile

In the meantime you can use it by using "electron-prebuilt-compile": "git+https://[email protected]/spasma/electron-prebuilt-compile.git" in your package.json.

I understand you don't want to use it for security reasons, but I'm using it for my own projects currently.. It's currently built for the current latest 4.0.5

spasma avatar Feb 25 '19 11:02 spasma

@spasma thanks for the contribution. Actually, I would love to use it, but because of the way my build infrastructure works (uses electron-forge) I cannot easily specify an alternative for this package. electron-forge requires that electron-prebuilt-compile be specified as an "exact version", i.e. not a URL/branch/commitish. In the past I have forked electron-forge to modify this behavior and made my own release, like you did, but it is a pain in the neck and feels so hacky. I would much rather like to help get a real solution implemented upstream / on the main line.

jacobq avatar Feb 25 '19 12:02 jacobq

@jacobq I totally agree on that it's too hacky for production.. It should definitely be automated by the devs.. They already have some npm scripts that will make it quite easy as you mentioned before.. I don't understand, electron-forge is also part of the electron-userland group, why is this not part of new electron-forge releases as they heavily depend on this package?

spasma avatar Feb 25 '19 17:02 spasma

@zeke and @paulcbetts Is there anything I can do to help get this landed? It looks like we could do this using two complementary bots:

  1. renovatebot or dependabot to automatically make commits when new electron versions come out (since we have electron in package.json's dependencies)
  2. semantic-release to automatically bump version and publish a new release after each update

jacobq avatar Apr 02 '19 14:04 jacobq