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
Set up CI system to create desktop installer of vanilla Theia #5481
Comments
@thegecko FWIW, Travis now has a Windows VM for you to use. You may also use Azure pipelines as well. |
Thanks. The Mac ci may be tricky |
+1
We have not had problems producing a |
Have you tried signing the image (if we care about that)? |
No. |
At this point we can have our CI migrated to Azure Pipelines since it supports MacOS, Windows and Linux already @thegecko @kittaakos |
How about using GitHub actions instead? https://github.blog/2019-08-08-github-actions-now-supports-ci-cd/#fast-ci-cd-for-any-os-any-language-and-any-cloud |
Does it support downloadable artifacts without creating a new release? Azure does. Otherwise, I do not have any objections. |
GitHub CI is still in beta so we'll need to wait for their november GA. |
I believe GH actions use docker containers behind the scenes, so are Linux only. This would mean we couldn't sign installers for Mac / Windows :( |
It was just a suggestion, I would be happy with anything working :) |
I get the hint :p |
Any progress on this? |
No progress as yet, many options have been suggested (Azure, Travis), but as I only have experience building and signing using Jenkins servers more help will be needed if we take a different approach. As I see it, there are 3 options:
Any solution we choose needs to support native MacOS, Windows and Linux build machines in order to sign any installers (if that's a requirement). Thoughts/volunteers? |
I somehow like to reuse eclipse build systems. I think it is fine that it is a separate CI, bundling from monorepo does not work anyway, correct? It would be also close to what others have to do. Could scripts be open sourced? |
We can sanitize the scripts and share them to use as a base line. Do we have a contact at eclipse to access their build system? |
opening a bugzilla to get CI instance at https://ci.eclipse.org/theia ? |
Thanks all. |
Just a quick mention that Travis CI meets this requirement of supporting CI for our 3 platforms. Not sure about The Foundation's CI infrastructure - I guess they'll let us know in the bugzilla above. |
Excellent, I just need a volunteer with travis foo :) |
A few of us have played with Travis and can help. When we talk about "vanilla Theia", do we mean the Electron Example application from the main repo, e.g. built and packaged nightly? We have this example electron app that can already generate native packages for our 3 platforms (manually for now, not included in repo's CI). The electron-builder config could be used as an example, e.g. used along with the Electron Example app's |
Yes. https://github.com/theia-ide/theia-apps/blob/master/theia-electron/electron-builder.yml is a really good start. After 1.0.0 it may be worth adding more improvements. For example:
|
There will be some preliminary tasks before we get to the CI/Travis aspect:
|
I think this is the ideal candidate
IMO, getting the installers building and signing will be the hardest part here. The content and publish location doesn't necessarily block work in this area. I'm happy to share some (potentially redacted!) Jenkins scripts to support anyone trying this on Travis. Let me know where to put them.
After a lot of research and trial/error on our side, we recommend the following:
DockerHub makes sense for the docker images (shall we create one now?). For the installers, we could simply add them to the GitHub releases on Theia?
Sensible. |
Sorry, but it sounded a good alternative to VSCODE to me when I was reading the announcements: Quote: Native Desktop which Even the title says that: So let me get the correct... it is an alternative I can just not install it???? Quote: (https://devclass.com/2020/03/31/eclipses-theia-sees-1-0-declared-not-your-parents-ide/) So I can install an extension like in VSCODE but I can not install THEIA??? |
@chrisjj <https://github.com/chrisjj> Instead of complaining, why don't
you take initiative and make the PR to support the builds?
I've no idea how to make such a PR. Plus as I said, the fact that far more
able persons than I haven't done it suggests it is much more difficult that
you imply.
C
… |
ride4sun, let's add:
The most significant differences between Eclipse Theia and VS Code are:
- Theia's architecture is more modular and allows for significantly more
customizations
- Theia is designed from the ground to run on both Desktop and Cloud
- Theia is developed under the community-driven and vendor-neutral
governance of the Eclipse Foundation.
which at the moment should also include
- Theia doesn't give you an .exe because that's not important enough.
C
|
@ride4sun if you look at the quotes you referenced you'll see the following:
In the EclipseFoundation announcement you'll see:
It clearly illustrates that the project is a framework which can build IDE-like applications which in fact rival and is an open-source alternative to VS Code. The main target audience for the framework are application-developers who are in need of a framework to build their own white label IDE-like applications. The idea of providing an executable or installer to end-users is for the ability for more of an audience to get a feel of the default functionality and behavior of the framework but once again it will only be one example of many possible use-cases. Nothing prevents you today to build you own application using Theia. In any case, the addition of desktop installers for an example Theia application, is being actively worked on by the main community and hopefully it will bring forth more visibility and users to the framework. |
I worked on many software projects myself and I have to admit that the installer is something nobody wants to work on. I have the feeling that is the non-outspoken reason here. That is really stupid because I really want to try the new layout engine and you guys should be eager to get a big install base to gain momentum and get feedback. |
Let make it clear than....
This is NOT a Vscode alternative because it addresses another use case. Totally misleading! |
@ride4sun it is being worked on :)
It can be argued that it is an open-source alternative since vscode is not truly open-source, we are providing vscode extension support, we have worked on providing an open-source alternative to the marketplace for downstream applications to use (open-vsx), and the default commands, implementation and user-interface are vscode inspired. If you disagree then that is totally your opinion, I think the multiple comments (re-iterating the same point) are sufficient for this particular issue. |
It clearly illustrates that the project is a framework which can build
IDE-like applications ...
It would do... if it were not contradicted by e.g. "a True Open Source
Alternative to Visual Studio Code".
The fact Theia is a platform for building IDEs whereas VSCode is an IDE is
probably the most important entry that should be on Theia's "The most
significant differences between Eclipse Theia and VS Code are..."
None of which bears on the deficiency of an actual .exe for vanilla Theia.
It can be argued that it is an open-source alternative since vscode is
not truly open-source
No. That's merely makes Theia a more open-source *non*-alternative.
C
|
I agree with that statement but that is quite a different statement than the press releases.
Can you share the community efforts where people working on the installer? |
The main community has discussed this feature and other features in the weekly dev-meeting. |
The main community has discussed this feature and other features in the
weekly dev-meeting
<https://github.com/eclipse-theia/theia/wiki/Dev-Meetings>.
Any sign of "actively working on"? As per your "the addition of desktop
installers for an example Theia application, is being actively worked on by
the main community".
…On Wed, 27 May 2020 at 00:31, Vincent Fugnitto ***@***.***> wrote:
Can you share the community efforts where people working on the installer?
The main community has discussed this feature and other features in the
weekly dev-meeting
<https://github.com/eclipse-theia/theia/wiki/Dev-Meetings>.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#5481 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABO7GELLEYRKQZMNJVMS7MLRTRGMRANCNFSM4HYJHQQQ>
.
|
@chrisjj the issue has been discussed and planned by the main community, and one of the main contributing companies are currently working on implementing the feature. In the dev-meeting, the community has discussed on what the best approach would be to handle the automation of the installers, the CI setup (for different operating systems), and other important factors. |
Is there a ETA? |
@ride4sun no, there is none as of today. We need to make sure that the automation of the installers are done correctly and with quality as ultimately end-users will be the ones to consume them. If you are pressed for time, building you own IDE is quite easy, we have many examples and you can start using it today. For example, if you require a desktop Theia IDE, you can take a look at the theia-electron example which when built and packaged you can continue using like any standard application. |
Locked except for committers. Pestering the project for one's pet feature is not productive. As @vince-fugnitto said, Theia is a framework. It's targeted at For those that just want to use (vs @thegecko would you share your plans as per the dev-meeting? I can then link to here from the minutes :) |
Sure, as discussed in the dev meeting yesterday, the plan is to stand up a travis build system for the theia apps project. For now we want to prove this will work so Initially we aren't going to worry about signing any installers and will also defer decisions around the channels to be released. To set delivery expectations, this is something I'm doing in my spare time, so please offer help if you want this accelerated. I see Windows support on travis is experimental, so we may hit blockers quickly. |
Thanks Rob.
True, but we've been using Travis on this repo here, for our Windows CI, since we moved to the Eclipse Foundation's org, and as far as I remember, we've had little issues caused by the service (windows-specific issues, e.g. related to the specificities of their file system, are another matter) See here for the windows part of the Travis config we use here. |
@thegecko, you have some experience with creating and shipping a signed electron-based app. Can you please tell us how long does it roughly take to sign the Arm Mbed Studio for macOS? Have you managed to pack with
Recently, I have managed to sign a dummy electron app with GH Actions so if Travis CI cannot do the Windows part, we can use GH Actions. Unfortunately, I was hitting timeout issues (with GH Actions) when I wanted to sign a Theia-based app. Probably because it's a giant, almost 500MB (VS Code is ~240 MB). |
Builds are about 40 minutes in total for each platform
We don't use asar
I wasn't aware GH actions were available for Windows, I assumed they were all docker images |
Does this 40 min include the singing against the Apple server? |
Yes, it includes macOS notarization |
@thegecko I noticed that the VSCodium project generates packages for many OS, and it looks like they sign the Mac ones using Travis. Maybe this can serve as inspiration. |
Thank you, @thegecko. It was a very useful input. Does this mean you do not have the
I propose not using channels (well, just the default, If anyone is wondering what the channels are: https://www.electron.build/tutorials/release-using-channels |
PR for a first pass of this here: theia-ide/theia-apps#370 |
First releases of theia-example v1.2.0 are now appearing here: https://download.eclipse.org/theia/ Still unsigned and currently untested. |
Signed versions now available: https://download.eclipse.org/theia/1.2.0/ MacOS version still needs to be notarised. |
Happy to announce we now have signed and notarized installers for MacOS. This means the CI work for creating desktop installers is complete. The latest installers for all platforms can be found here: |
Awesome, thanks @thegecko |
Feature requirement to extend CI systems to build installers for the desktop flavour of Theia for:
In order to correctly sign these, they will need to be built on Windows, Mac and Linux machines accordingly.
Options for systems to include:
cc @arekzaluski @svenefftinge
The text was updated successfully, but these errors were encountered: