Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [che-dev] Che-Theia multi-root workspaces autodetection

Hello Che Devs,

Since Che 7.29, we've enabled the multi-root mode by default in Che-Theia [1]. It was almost three months ago and we haven't seen any concerns since then.
I'm glad to inform you that we've recently made the multi-root is the only mode in Che-Theia (no feature toggle anymore) [2]. The changes will be available since Che 7.35.
After the main epic [3], it was the final step towards accomplishing this goal.

Thank you everyone for providing your feedback and helping us with testing this feature!

[1] https://github.com/eclipse/che/issues/19389
[2] https://github.com/eclipse/che/issues/19594
[3] https://github.com/eclipse/che/issues/19199


On Mon, Apr 19, 2021 at 5:31 PM Artem Zatsarynnyi <azatsary@xxxxxxxxxx> wrote:
Hello folks,

As I've already mentioned during our Che Community call today, we're going to remove from Che-Theia
the support for the feature toggle for disabling the multi-root layout - "multiRoot: on/off" attribute in a Devfile [1].
If you have any concerns, please let us know.
For now, we know about one issue [2] that should be fixed before moving forward with [1].

Thanks!

[1] https://github.com/eclipse/che/issues/19594
[2] https://github.com/eclipse/che/issues/19476


On Mon, Mar 29, 2021 at 1:40 PM Artem Zatsarynnyi <azatsary@xxxxxxxxxx> wrote:
Hello,

please note that in Che-Theia:next (which is going to be released as a part of Che 7.29.0) we've already enabled
the multi-root mode by default for all workspaces. If you faced any related issue please file it to [1].
It still can be disabled with the "multiRoot: off" attribute in a Devfile.

Thanks!

[1] https://github.com/eclipse/che/issues


On Fri, Mar 5, 2021 at 11:23 AM Sun Tan <sutan@xxxxxxxxxx> wrote:
Thanks @Florent Benoit and @Mario Loriedo 
I don't know much about intellij, but for the Eclipse Desktop IDE, roots could be folders that may have a .project. So that would be IDE agnostic (even though it won't be used by odo, but odo is not an IDE).
I will create an issue there.

Sun Tan

Senior Software Engineer

Eclipse Che - CodeReady Workspaces @ Red Hat

also Paris JUG Leader

Red Hat Paris

sutan@xxxxxxxxxx    
M: +33621024173    



On Fri, Mar 5, 2021 at 10:17 AM Florent Benoit <florent@xxxxxxxxxx> wrote:

Sun, instead of what you described in your issue like
 - source:
      type: git
      location: 'https://github.com/sunix/che-quarkus-demo'
      branch: microservices
    roots: ['quarkus-backend', 'node-frontend']
    name: che-quarkus-demo
it would be more like
 - projects:
   - name: che-quarkus-demo
     attributes:
       - roots: 
         - quarkus-backend
         - node-frontend
     git:
      checkoutFrom:
        revision: microservices
      remotes:
        origin: "https://github.com/sunix/che-quarkus-demo"

Florent

On Fri, Mar 5, 2021 at 9:42 AM Sun Tan <sutan@xxxxxxxxxx> wrote:
@florent, Any ideas or proposals on how it would look like with devfile2?
Maybe the good time to have early feedback on extra attributes to add to projects in devfile2.

Sun Tan

Senior Software Engineer

Eclipse Che - CodeReady Workspaces @ Red Hat

also Paris JUG Leader

Red Hat Paris

sutan@xxxxxxxxxx    
M: +33621024173    



On Wed, Mar 3, 2021 at 5:42 PM Florent Benoit <florent@xxxxxxxxxx> wrote:
Sun,

it should be possible with devfile 2 because we can have extra attributes in projects entries of the devfile.yaml (with v2 schema)
This is mainly why it's not done yet with devfile v1.

On Wed, Mar 3, 2021 at 5:29 PM Sun Tan <sutan@xxxxxxxxxx> wrote:
We should plan to cover use cases where a git repo would contain multiple subfolders that should be marked as workspace roots.

There is a proposal of how it could be in https://github.com/eclipse/che/issues/15347

That would be nice for repos like https://github.com/redhat-developer-demos/quarkus-reactjs-postit-app where you have a subfolder with a quarkus project, and another subfolder with a nodejs app

Sun Tan

Senior Software Engineer

Eclipse Che - CodeReady Workspaces @ Red Hat

also Paris JUG Leader

Red Hat Paris

sutan@xxxxxxxxxx    
M: +33621024173    



On Wed, Mar 3, 2021 at 8:57 AM Florent Benoit <florent@xxxxxxxxxx> wrote:
Yes, I think that when using the DevWorkspace engine, multi-root should be the default value.


Florent

On Wed, Mar 3, 2021 at 8:45 AM Mario Loriedo <mario.loriedo@xxxxxxxxx> wrote:
Artem the plan looks good but the devfile v2 use case is missing.
Are we going to enable multi-root mode for every workspace started via the devworkspace controller? 

On Wed, Mar 3, 2021 at 5:27 AM Artem Zatsarynnyi <azatsary@xxxxxxxxxx> wrote:
Hello,

As you may already know, recently we've added autodetection of multi-root workspaces in Che-Theia [1].
It means that instead of opening a single-root workspace with /projects directory as a root folder, now each project, found in a Devfile, Che-Theia will add as a workspace folder.
It should fix a lot of use-cases where a project folder is expected to be a workspace root folder. Just some of them, which I'm aware of:
- go projects
- OpenShift Connector Che Plug-in
- Kubernetes Che Plug-in

Please, also find the demo of the feature prepared by @Roman Nikitenko [2].
If you are not aware of what the multi-root workspaces are, please find the quick introduction in [3].

This is quite a big change as it affects several Che-Theia areas, like debugger, settings, terminal, etc.
We decided not to turn it on by default yet, but make it available with a feature toggle in a Devfile.
To enable multi-root autodetection, just add the following attribute to your Devfile:

attributes:
 multiRoot: 'on'



We would be glad to get your help in testing it. You can test it in several ways:
- if you're aware of some use-cases that depend on multi-root mode, please check it
- if you work with the go projects regularly - I believe you know how to test it 😉
- if you are dogfooding Che/CRW - just put a couple of lines in your Devflie to turn the multi-root mode on
Note, multi-root autodetection feature is going to be released in Che 7.27.0 this week. But you can already use it today by switching to Che-Theia:next version.

Your feedback is highly appreciated. You can provide it by replying to the mailing thread or through the usual channels [4], [5].
Thank you in advance for your participation! 🙏


To enable the multi-root mode gradually, I propose the following approximate schedule:
- Che 7.27 - multi-root mode is off by default, and can be enabled with the feature toggle in a Devfile.
- Che 7.28 - we enable the multi-root mode for all Devfiles in the Che Devfile Registry, if no critical issues found.
Probably, the HappyPath tests should be adapted as well. It should require just minor modifications.
- Che 7.29 - multi-root mode is on by default for all workspaces, and can be disabled with the feature toggle in a Devfile.
- Che 7.30 (CRW 2.9) - multi-root is the only mode, no feature toggle anymore. It may be postponed if we get more issues to fix.

If some critical issues come while people use the feature, we'll fix it in Che 7.29.
Let me know if you have any questions or any concerns about this schedule.

@Florent Benoit @Mario Loriedo @Eric Williams I'd like to know your opinion about enabling multi-root mode for all Devfiles in Che Devfile Registry, in Che 7.28.

Thanks!

[1] https://github.com/eclipse/che/issues/17212
[2] https://www.youtube.com/watch?v=cSQ5LUfUN1w
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev
_______________________________________________
che-dev mailing list
che-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/che-dev


--

Artem Zatsarynnyi

Senior Software Engineer, DevTools

Red Hat



--

Artem Zatsarynnyi

Senior Software Engineer, DevTools

Red Hat



--

Artem Zatsarynnyi

Senior Software Engineer, DevTools

Red Hat


Back to the top