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

feat: multi-platform multi-arch support (arm64, amd64, macOS Universal) #2681

Open
5 tasks
SgtPooki opened this issue Oct 18, 2023 · 0 comments
Open
5 tasks
Labels
area/Kubo Issues related to Kubo daemon (config, orchestration, features) area/linux Linux area/macos MacOS area/windows Windows effort/weeks Estimated to take multiple weeks exp/wizard Extensive knowledge (implications, ramifications) required help wanted Seeking public contribution on this issue kind/architecture Core architecture of project kind/enhancement A net-new feature or improvement to an existing feature need/analysis Needs further analysis before proceeding P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked topic/infra Infrastructure topic/interop Interoperability topic/linux Linux specific topic/macos MacOS specific topic/windows Windows specific

Comments

@SgtPooki
Copy link
Member

SgtPooki commented Oct 18, 2023

This issue is intended to track the work and requests for distributing IPFS-Desktop across multiple architectures on multiple platforms (arm64, amd64, macOS Universal, and any others that pop up).

We have received requests for supporting the following currently unsupported builds:

Platform Architecture Native build needed Kubo supported? Related Issues
macOS arm64 Darwin arm64 Yes - https://dist.ipfs.tech/kubo/v0.23.0/kubo_v0.23.0_darwin-arm64.tar.gz #1827, #1856
macOS Universal Darwin arm64 + Darwin amd64 Not directly, need to explicitly build universal build that wraps both. #1827, #1856
Raspberry Pi arm64 Linux arm64 Yes - https://dist.ipfs.tech/kubo/v0.23.0/kubo_v0.23.0_linux-arm64.tar.gz #165
Windows arm64 Windows arm64 Yes - https://dist.ipfs.tech/kubo/v0.23.0/kubo_v0.23.0_windows-arm64.zip #2656

Is IPFS-Desktop opposed to supporting more architectures and platforms?

No. We would love to support more platform+arch with IPFS-Desktop.

What requirements/limitations are there for supporting a platform+arch?

The only limiting factors preventing this work are:

  1. time & dev resourcing
  2. whether Kubo supports the platform+arch
  3. whether electron-builder supports the platform+arch
  4. Whether we have github-action runners available for building and signing a particular platform+arch combination.

Articles on how to accomplish.

Two good resources I found are:

Other Electron applications bundling platform+arch's we want

I searched for electron-builder stuff in github CI files and found a few examples for us to look at.

https://github.com/jgraph/drawio-desktop seems like a promising place to look for configs and stuff to update our electron-builder flow.. seems like a pretty popular app that's up to date with a really clear electron-builder integration, and multiple arch builds: including mac universal build.


Tasks

@SgtPooki SgtPooki added the need/triage Needs initial labeling and prioritization label Oct 18, 2023
@SgtPooki SgtPooki added help wanted Seeking public contribution on this issue P1 High: Likely tackled by core team if no one steps up need/analysis Needs further analysis before proceeding area/macos MacOS area/windows Windows area/linux Linux kind/enhancement A net-new feature or improvement to an existing feature kind/architecture Core architecture of project exp/wizard Extensive knowledge (implications, ramifications) required effort/weeks Estimated to take multiple weeks status/ready Ready to be worked topic/infra Infrastructure topic/linux Linux specific topic/windows Windows specific topic/interop Interoperability topic/macos MacOS specific area/Kubo Issues related to Kubo daemon (config, orchestration, features) and removed need/triage Needs initial labeling and prioritization labels Oct 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/Kubo Issues related to Kubo daemon (config, orchestration, features) area/linux Linux area/macos MacOS area/windows Windows effort/weeks Estimated to take multiple weeks exp/wizard Extensive knowledge (implications, ramifications) required help wanted Seeking public contribution on this issue kind/architecture Core architecture of project kind/enhancement A net-new feature or improvement to an existing feature need/analysis Needs further analysis before proceeding P1 High: Likely tackled by core team if no one steps up status/ready Ready to be worked topic/infra Infrastructure topic/interop Interoperability topic/linux Linux specific topic/macos MacOS specific topic/windows Windows specific
Projects
No open projects
Status: Prioritized / Ready for Dev
Development

No branches or pull requests

1 participant