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

Publish to major package managers #217

Open
8 tasks
RangerMauve opened this issue Jan 6, 2023 · 11 comments
Open
8 tasks

Publish to major package managers #217

RangerMauve opened this issue Jan 6, 2023 · 11 comments
Labels
enhancement New feature or request help wanted Extra attention is needed Linux Primarily happens on Linux Mac OS Primarily happens on Mac OS windows Primarily happens on windows

Comments

@RangerMauve
Copy link
Member

RangerMauve commented Jan 6, 2023

  • Windows (appx)
  • Mac OS (dmg)
  • AUR (arch linux/manjaro)
  • Debian (Ubuntu? Pop OS?)
  • Snapcraft (linux)
  • Flatpack (linux)
  • RPM (redhat linux)
  • ???

Ideally, I'd like to register accounts for all of these under Agregore myself, but I'd love help from folks that want to set up the build scripts and CI.

If this is something you've done for an electron package before, or think it's something you can set up, I'd love to have a chat to see if I can pay for the work.

We might also want to look into using Open Build Service instead of Github Actions forthe CI. https://openbuildservice.org/

I'll document some of the steps needed for the individual platforms in additional comments.

@RangerMauve RangerMauve added enhancement New feature or request help wanted Extra attention is needed windows Primarily happens on windows Mac OS Primarily happens on Mac OS Linux Primarily happens on Linux labels Jan 6, 2023
@RangerMauve
Copy link
Member Author

Windows

Based on the Electron Windows Store Guide

  • Get electron-builder to generate appx
  • Register the app on the Windows store
  • Add github action to publish to the store
    • might need to make one
    • might be able to use this
  • Release!

@RangerMauve
Copy link
Member Author

MacOS

Based on the Electon Mac App Store Guide

  • Provision a cloud Mac OS instance or get a mac to get xcode
  • Create an apple developer account
  • Configure signing with electron-builder docs
  • Test the app sandbox with the p2p protocols
  • Adjust existing github action with code signing. docs
  • Set up CI script to publish the dmg (not sure if one exists already)

@RangerMauve
Copy link
Member Author

Debian

Seems like we can't just upload the deb. They expect to build it from source which might be a pain in the ass. based on this stack overflow answer

I'm not sure how realistic it'd be to make this happen. We might want to just register our own PPA and have folks add it to their list. Here's some docs on that

@RangerMauve
Copy link
Member Author

Snapcraft

Based on the Electron Snapcraft Guide

(this one actually seems really easy)

  • Register the app in the snap store
  • Add CI to publish to the snap store

@RangerMauve
Copy link
Member Author

RangerMauve commented Jan 6, 2023

Arch / Manjaro (AUR)

Based on the Arch wiki Electron Package Guidelines and their submission guidelines

  • Adjust build to use the external electron dist (versioned)
  • Either register a new app or talk to existing maintainer
  • Set up CI to publish to AUR
  • Make it available in Manjaro somehow

@cerrussell
Copy link
Contributor

I think I can probably help with this...

@cerrussell
Copy link
Contributor

cerrussell commented Jan 7, 2023

@RangerMauve After a cursory review, my impression is that the linux distros will all be more straightforward than Windows or Mac, which both have more involved submission processes. That Electron article really doesn't get into all the steps and requirements for Windows submissions. Probably makes sense to target the linux distros first before embarking on publishing to win or mac app stores.

Edit: Actually, it's really only Snapraft and Flatpak that seem easy... getting rpms or debs on official repos seems a bit difficult and requires a sponsor if you aren't already a maintainer...

@RangerMauve
Copy link
Member Author

@cerrussell I agree that snapcraft/flatpak would be the easiest to get to to start.

Would you be interested in looking at how to get the electron-builder and github actions updated to support that? I'd be down to register whatever packages are needed on the respective repos in the meantime.

Also, I'm in talks with @gardenappl to figure out the AUR build. I just haven't had time to fully follow up on that yet due to catching up on work after my holiday vacation. :x

@cerrussell
Copy link
Contributor

@RangerMauve Yeah, I can work on that.

@cerrussell
Copy link
Contributor

@RangerMauve Just an update... I've set up a private app on snapcraft (agregore-dev) for testing purposes. Working on configuring the build components in the snapcraft.yaml file. I added you using the hotmail email address so you'll be able to have access.

@RangerMauve
Copy link
Member Author

Watched this talk recently: https://www.youtube.com/watch?v=4WuYGcs0t6I

Flatpak is pretty exciting. My Steam Deck only really supports Flatpak so I'm gonna be spending some time figuring that out since I have no choice. :P

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed Linux Primarily happens on Linux Mac OS Primarily happens on Mac OS windows Primarily happens on windows
Projects
None yet
Development

No branches or pull requests

2 participants