Include Workflow to WebIDE in a production-ready way
Problem
When implementing the MVC: Pre-install Workflow with Code Suggestions in the WebIDE epic, we chose to include the Workflow to WebIDE as a submodule - Include Workflow as a submodule to WebIDE and load it as an extension.
This provides a good iteration speed and easy local development, but it's got many issues related to submodules:
- Currently, we don't run the full Workflow build as a part of the WebIDE CI. We only build the browser assets. We could include Workflow submodule ref with failing tests, and we wouldn't know.
- Because the submodule only references a commit ref, we don't have the guarantee that we include tagged release. We could even include a commit from a feature branch that will get deleted from the Workflow project
- Every WebIDE build pipeline will download full dependencies of the Workflow project
Solution
Investigate how to include Workflow to WebIDE in a way that will verify that the version of Workflow is tested, working well and tagged. Key requirement is that the developer experience shouldn't degrade (the yarn run start:example
automatically reflects changes in the Workflow project) when the solution is implemented.
- We could reuse the approach from
vscode-build
package in WebIDE https://gitlab.com/gitlab-org/gitlab-web-ide/-/blob/9a82ee837774e17f73de9f3d268911e8e30e62ea/docs/dev/development_environment_setup.md#L26 - We could move the whole extension into the
gitlab-web-ide
project - We could add CI tasks that validate the submodule ref has certain properties (passing tests, tagged, ...)
- ....
Edited by Tomas Vik