[FEAT]: Deploy monorepos
Spiral-Memory opened this issue · comments
As an EmbeddedChat developer:
We need to:
Deploy the monorepos docs
, ui-elements
, react
, and layout-editor
.
So that:
Users can test them live.
Acceptance Criteria:
- Deploy all mentioned monorepos on GitHub Pages. Since GitHub provides only a single URL per project (
https://rocketchat.github.io/embeddedchat
), we must use routes to display different pages such ashttps://rocketchat.github.io/embeddedchat
for thereact
monorepo,https://rocketchat.github.io/embeddedchat/layout-editor
for thelayout-editor
, and so on.
References:
- https://rocketchat.github.io/fuselage -> https://github.com/RocketChat/fuselage: This repo follows a similar structure for multiple monorepo deployments.
- https://www.thisdot.co/blog/deploying-multiple-apps-from-a-monorepo-to-github-pages: Provides a starting point on how to deploy.
- One of my PRs, #586, can help understand how to deploy a Storybook.
Deployment can be tested on your own forked repo before raising the PR.
This issue is open for everyone to work on. Feel free to raise a PR.
Hey,
I suggest focusing on deploying both the react
and ui-elements
monorepo together first.
Regarding documentation and the layout editor, we will expand on these once my layout editor pull request is merged. After that, the documentation will be located in a packages
directory.
For now, you should work on hosting both the react
and ui-elements
monorepos correctly on the same GitHub Pages site.
One potential issue with the documentation not displaying correctly might be due to incorrect build configuration or deployment.
GitHub Pages deploys either from a dedicated branch or a specified directory. For example, in my deploy
pull request i mentioned in issue description, the path is set to storybook-static
. Once the build process completes, an index.html
file is generated in GitHub's temporary storage under the storybook-static
directory, which is then used for display.
When dealing with multiple monorepos, ensure that GitHub builds each project and outputs everything into a single directory. For instance, the build should output to build/index.html
for the react
monorepo and build/ui-elements/index.html
for the ui-elements
monorepo, and so on.
Okay, thanks