Skip to content

Desktop wallet release workflow fails: action-electron-builder does not support PNPM but only NPM and Yarn #264

@nop33

Description

@nop33

We've relied on the GitHub action samuelmeuli/action-electron-builder for many years to build/sign/release our desktop wallet, while using NPM as our package manager and script runner. It was discovered by @killerwhile who wrote the initial GitHub workflow to sign our app. Since then, we've had some issues with this action, because the action is not actively maintained.

We decided to switch to a fork: coparse-inc/action-electron-builder.

Then, after migrating to a monorepo with Bun instead of NPM, we faced new issues:

Now, after switching from Bun to PNPM we are facing a new issue:

coparse-inc/action-electron-builder does not support PNPM but only NPM and Yarn

While PNPM has an import command to import convert lockfiles generated with other package managers to a PNPM lockfile, it doesn't have an export command to do the opposite (like bun install --yarn). I could only find a separate CLI utility that can generate an NPM lockfile from a PNPM lock file.

To mitigate this, I create a PR in the coparse-inc/action-electron-builder repo to add support for PNPM: macro-inc/action-electron-builder#1

How to proceed

I see the following options:

  1. Wait for coparse-inc to merge our PR and release a new version of coparse-inc/action-electron-builder
  2. Use our own action-electron-builder by releasing it on GitHub Actions Marketplace
  3. 👎 Switch yet to another package manager like Yarn or NPM

What are others using

While researching a solution for #5 most references I found for building electron apps on GitHub CI point to the same GitHub action samuelmeuli/action-electron-builder. Ledger Live is also an Electron app in a monorepo that uses PNPM and they use their own scripts to build/sign/release.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingmonorepo🖥 DWDesktop wallet

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions