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

Increase Eclipse Theia presence via the Ubuntu Store or PPA #13862

Open
kevintanhongann opened this issue Jun 30, 2024 · 55 comments
Open

Increase Eclipse Theia presence via the Ubuntu Store or PPA #13862

kevintanhongann opened this issue Jun 30, 2024 · 55 comments
Labels
help wanted issues meant to be picked up, require help

Comments

@kevintanhongann
Copy link

Increase Eclipse Theia presence via the Ubuntu Store or PPA. At least people get to easily install Eclipse Theia and try it out.

@JonasHelming
Copy link
Contributor

I find this pretty interesting, we also got requests about Debian. @kevintanhongann Do you have experience publishing something to Ubuntu store?

@kevintanhongann
Copy link
Author

@JonasHelming unfortunately no. Is there also way to package the app into a .deb package? I think that is the easiest way for people to install Theia on Ubuntu and straight away have the app icon available in the start menu.

@JonasHelming
Copy link
Contributor

We will do an investigation of this feature request

@kevintanhongann
Copy link
Author

Useful links

https://askubuntu.com/questions/290871/uploading-apps-to-the-ubuntu-software-center

https://snapcraft.io/

Hope that helps.

@JonasHelming
Copy link
Contributor

Thanks, we started to discuss this!

@alculete
Copy link

Just adding more useful links, you can get some help on the forum

@jfaltermeier
Copy link
Contributor

Electron Builder supports building both .deb and Snap packages. We currently have a .dev package available here: https://download.eclipse.org/theia/ide/1.51.0/linux/. However, please note that since this was not part of our official release, it has not been extensively tested. We would also have to check how to automatically publish this to a PPA.

To support Snap packages, we would need to enable Snap builds and then explore options for automatically publishing them to the Snap Store.

@JonasHelming
Copy link
Contributor

@kevintanhongann Do you want to give the .deb package a try? The latest version is here: https://download.eclipse.org/theia/ide/1.52.0/linux/

@kevintanhongann
Copy link
Author

@JonasHelming I played around with the .Deb package yesterday. Installed it using gdebi and installs perfectly. Just the icons on the task bar didn't show properly(it shows the gearbox icon). Still pretty good effort btw.

@JonasHelming JonasHelming added the help wanted issues meant to be picked up, require help label Aug 6, 2024
@JonasHelming
Copy link
Contributor

See eclipse-theia/theia-ide#372
We will try to review this PR soon.

@alculete
Copy link

@JonasHelming, is there any plan for the snap version or will only stay available as AppImage and DEB?

@JonasHelming
Copy link
Contributor

I cannot only answer that we (EclipseSource) currently do not have immediate plans to work on a snap version, but we might work on this in the future. Theia is an open source project, so maybe some other party is interested in working on this. Would you be interested in a contribution?

@alculete
Copy link

Unfortunately, I have never worked with snaps. I have mentioned your project in the snap forum, maybe they will build in the future.

@JonasHelming
Copy link
Contributor

Unfortunately, I have never worked with snaps. I have mentioned your project in the snap forum, maybe they will build in the future.

Thanks, that would be very cool and we are definitively willing to provide support to them!

@Mailaender
Copy link

Mailaender commented Sep 7, 2024

Created https://github.com/Mailaender/theia-ide-snap and submitted theia-ide for review by @canonical. I would like to get the git repository moved into the @eclipse-theia organization, as the preferred way for this is upstream maintenance. Please register an @eclipse store brand account, so I can hand this over properly.

See eclipse-theia/theia-ide#372
We will try to review this PR soon.

Yes, please do for the next release, so I can finally remove the workaround to display icons and also, please don't ignore eclipse-theia/theia-ide#371 as the right click open folder is the main way I start these type of IDEs.

@JonasHelming
Copy link
Contributor

Hi @Mailaender

this is really great! I have a couple of questions.

  1. Repo
    https://github.com/Mailaender/theia-ide-snap is currently private. Do you mind making it public, so we have can have a look whats inside?
  2. Brand Account
    If you maintain the classic Eclipse IDE, what brand account is used for this? I agree it makes sense to get an Eclipse brand account, but this would need to be done by the Eclipse Foundation.
  3. Process
    Can you quickly describe the process with all necessary steps to publish a new release, once the everything is in place? Would you be willing to contribute to this process too (of course no commitment forever necessary :-) )

Thank you for driving this!

@Mailaender
Copy link

Mailaender commented Sep 9, 2024

  1. Made https://github.com/Mailaender/theia-ide-snap public. Sorry
  2. The classic IDE is currently maintained by @snapcrafters, but they will delete the package when an official entity comes along and takes over.
  3. I like Theia so updating the snap scratches my own itch. Automatizing is as simple as parsing YAML and updating a version string and sending a pull request. If you provide me with access to your Jenkins, then I could set up something using GitHub CLI.

@JonasHelming
Copy link
Contributor

Thank you for publishing the repo. Do I understand correctly: If some would:

  1. Update the version number in the repo
  2. Execute this Github Action

A new version of the snap package would be published? Or only built for now?

"Automatizing is as simple as parsing YAML and updating a version string and sending a pull request. If you provide me with access to your Jenkins, then I could set up something using GitHub CLI."
=> Is this about automizing the update, i.e. the two steps mentioned above? If so, I believe it might not be worth automating, at least not in the first place :-)

@Mailaender
Copy link

Mailaender commented Sep 10, 2024

Added https://github.com/Mailaender/theia-ide-snap/actions/workflows/publish.yml to display how publishing works now that the package name has been approved. Updating a stable version is basically just editing the version number. It rebuilds and publishes automatically on commit. Also requested https://forum.snapcraft.io/t/classic-confinement-for-theia-ide/41947 so we are allowed to disable sandboxing.

@JonasHelming
Copy link
Contributor

Sounds perfect, added it to the agenda for today: https://github.com/eclipse-theia/theia/wiki/Dev-Meetings

One final question for now: Is there any signing required?

@Mailaender
Copy link

No signing is required if you mean code signing or contract signing.

@JonasHelming
Copy link
Contributor

People in our call were really to see your initiative. One question that came up: Would it also be an option to have this hosted at SnapCrafters (like the eclipse IDE)?

@Mailaender
Copy link

Mailaender commented Sep 10, 2024

I am not a member of @snapcrafters so I can't really. As far as I understand it, that is a community initiative for cases when upstream has not embraced snap themselves yet and not an official repository like @flathub for @flatpak.

@JonasHelming
Copy link
Contributor

OK, but this means, if they accepted contributions to the Eclipse IDE, they also might accept your contribution of the Theia IDE, right? The reason I ask is that i fear it might take a while until we have an official brand account.

@Mailaender
Copy link

Filed https://forum.snapcraft.io/t/matthias-mailander-snapcrafters-membership-application/41949

@Mailaender
Copy link

Mailaender commented Sep 13, 2024

Regarding https://forum.snapcraft.io/t/matthias-mailander-snapcrafters-membership-application/41949/6 How is the progress on the Eclipse brand account? Did you create a ticket at gitlab already?

@JonasHelming
Copy link
Contributor

I have this on my todo list, but did not do yet. Thinking about it: What would be the advantage compared to snapcrafters? Maybe an Eclipse brand account would be more trustful. However, in this case, the maintainers of Theia and more importantly of the Eclipse IDE would need to maintain this. While for Theia I can control it, I am not sure if there is interest for the Eclipse IDE.
WDYT? Would you be fine with going for snapcrafters for now?

@Mailaender
Copy link

The @snapcrafters asked if they can upstream their IDE snap because that is their policy so this is currently stuck between the both of you. I asked at https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/5021 now myself to get this going again.

@JonasHelming
Copy link
Contributor

Thank you for creating the issue.
"currently stuck between the both of you" => Please note that the Eclipse IDE and the Theia IDE are dedicated projects (both hosted at the Eclipse Foundation) and the maintainers of the Theia IDE (including me) are not maintaining the Eclipse IDE and are also no from the Eclipse Foundation. I just wanted to clarify that this is only about the Theia IDE, let's focus on this.

@Mailaender
Copy link

I meant I was stuck between @snapcrafters wanting upstream maintenance and you opting for @snapcrafters as a quick intermediate solution. My https://forum.snapcraft.io/t/classic-confinement-for-theia-ide/41947 is also unanswered. There are instructions in the README on how to compile locally while we wait.

@Mailaender
Copy link

Brand account has been created and https://snapcraft.io/eclipse already claimed. I am handing over my snap as we speak. Please fork https://github.com/Mailaender/theia-ide-snap in this organization and give @fredg02 admin access to that repository so he can setup the store login secret.

@Mailaender
Copy link

I still have access after the transition and uploaded https://snapcraft.io/theia-ide but kept it unlisted while we wait for sandbox restrictions removal https://forum.snapcraft.io/t/classic-confinement-for-eclipse-theia-ide/42177

@JonasHelming
Copy link
Contributor

Brand account has been created and https://snapcraft.io/eclipse already claimed. I am handing over my snap as we speak. Please fork https://github.com/Mailaender/theia-ide-snap in this organization and give @fredg02 admin access to that repository so he can setup the store login secret.

Cool! I cannot fork your repository in this orgnaization, we will need to transfer it. This also includes that you officially contribute the content. We can wither transfer the repo or I create a new one and you push the content. The first involves an admin and I think some overhead, the second is probably faster, but a (tiny) bit more work for you. Are you fine with the second option?

@Mailaender
Copy link

Yes, create a new one. That is fine with me.

@alculete
Copy link

One more thing shouldn't you guys request a verification badge for this account?

@Mailaender
Copy link

Suggested it at https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/5021#note_2823488 but my personal experience is that @canonical distributes them at random and might ignore your requests for it.

@alculete
Copy link

I think as the original maintainer for Eclipse and Theia IDE they have an advantage here and maybe not all points mentioned on that list would be valid for being able to be verified.
If you will be the one pushing updates I think you can make the request (Maybe)

@JonasHelming
Copy link
Contributor

Repo creation on the way: eclipse-theia/.eclipsefdn#7

@JonasHelming
Copy link
Contributor

@Mailaender
Copy link

Mailaender commented Sep 24, 2024

eclipse-theia/theia-ide-snap#1 as I don't have write access.

@Mailaender
Copy link

eclipse-theia/theia-ide-snap#2 is required to test if the credentials work and to upload a new revision that is not sandboxed. It will be automatically rejected and start another approval process.

@Mailaender
Copy link

The vetting process for https://snapcraft.io/docs/reviewing-classic-confinement-snaps was initiated. Please create a branch called vetting (you can remove it afterward) and create a commit putting the token g04Ey6AmfOt2RyG7MoFh in the commit message.

@jfaltermeier
Copy link
Contributor

The vetting process for https://snapcraft.io/docs/reviewing-classic-confinement-snaps was initiated. Please create a branch called vetting (you can remove it afterward) and create a commit putting the token g04Ey6AmfOt2RyG7MoFh in the commit message.

I’ve created the branch here: https://github.com/eclipse-theia/theia-ide-snap/tree/vetting and the commit can be found here: eclipse-theia/theia-ide-snap@37ea630

@Mailaender
Copy link

In the main repository, not the snap one to prove authorship of the software.

@jfaltermeier
Copy link
Contributor

@jfaltermeier
Copy link
Contributor

Rebuild is green

@Mailaender
Copy link

I set https://snapcraft.io/theia-ide to public.

@JonasHelming
Copy link
Contributor

Wonderful I can see it in the Ubuntu Store, great work!

@JonasHelming
Copy link
Contributor

see: eclipse-theia/theia-website#624
adding it to the website

@bstader
Copy link

bstader commented Oct 15, 2024

Great work @JonasHelming and @Mailaender !
Really like the snap.

Is there a plan to automate the releases as there is 1.54.0 available?
Or beta releases?

@JonasHelming
Copy link
Contributor

Credits go to @Mailaender for everything and @jfaltermeier for the reviews :-)

@Mailaender
Copy link

Oh, I didn't notice that you are releasing faster now. Filed eclipse-theia/theia-ide-snap#4 for 1.54.0

Automation is possible and also beta channels are supported by the snap store. Where do you store .deb builds of your beta releases?

@JonasHelming
Copy link
Contributor

We are actually still releasing once per month

@JonasHelming
Copy link
Contributor

We publish the preview build on the Theia platform release day (last thursday of a month). Then after testing feedback, we promote it, also see #14230

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted issues meant to be picked up, require help
Projects
None yet
Development

No branches or pull requests

6 participants