Skip to content

Build and Publishing Process #1263

@hacdias

Description

@hacdias

There is an history of problems with Electron Builder, the package we're now using to build and deploy IPFS Desktop's binaries to GitHub Releases and also manage our auto-update mechanism.

Currently, there are two issues opened related to our build mechanism and auto-update:

  1. The build for macOS is failing (Can't start IPFS Desktop 0.10 on macOS #1244). A quick fix for this is just using the branch from where the fix comes from (Revert "fix(appx): App sandbox not enabled (ITMS-90296) (#4244)" (#4390) electron-userland/electron-builder#4414) while the fix is not released.
  2. There are user concerns about the update mechanism and the entities we reach to get the new binaries (ipfs desktop is connecting to npm registry and github on upgrade #1189, Hardening Updates with Content-Addressing and IPNS #789). A possible fix for this is to distribute the binaries using our own server.

A suggestion that would remove the need for Electron Builder and, at the same time, allowing to keep with GitHub Releases (or not), is using Electron's own packager, which requires a bit more work, but it's the official way and workable. electron-packager repository.

For updates, we could use updater.electronjs.org with GitHub Releases to avoid the need for Electron Builder's auto-update too: https://electronjs.org/docs/tutorial/updates#updating-applications.

/cc @autonome @lidel

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium: Good to have, but can wait until someone steps uparea/updatesIssues related to manual and automatic updatesneed/analysisNeeds further analysis before proceedingneed/maintainers-inputNeeds input from the current maintainer(s)status/blockedUnable to be worked further until needs are met

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions