mui / toolpad

Toolpad: Full stack components and low-code builder for dashboards and internal apps.
https://mui.com/toolpad/
MIT License
963 stars 243 forks source link

Add toolpad runtime sync from GitHub #399

Open Janpot opened 2 years ago

Janpot commented 2 years ago

Allow setting up a branch on github to watch for changes and read a Toolpad application artifact* from. Deploy said artifact as a toolpad application whenever on every push to this branch. Perhaps a github target can be thought of as another application environment?

Complementary to https://github.com/mui/mui-toolpad/issues/395 and https://github.com/mui/mui-toolpad/issues/398. It would allow setting up a local development workflow in which Toolpad applications are authored inside of the toolpad editor, toolpad artifacts are stored in the local file system and synced (outside of toolpad, by the developer) to a branch on github. Applications are deployed automatically from that branch

Benchmark

mbrookes commented 2 years ago

toolpad artifacts are stored in the local file system and synced (outside of toolpad, by the developer)

Presumably this could also be native to Toolpad rather than via file system/git push, similar to how Netlify CMS works?

oliviertassinari commented 2 years ago

To be clear (what I understand) this issue is equivalent to building a service like Netlify which deploys Next.js apps (from GitHub/GitLab/BitBucket to a live production). It's different from #389 which focuses on the other direction of the sync (low-code edits -> open PRs in GitHub/make commits).

mbrookes commented 2 years ago

To be clear I was commenting on a specific clause, which I quoted; but perhaps there's a good reason to save to FS and before manually pushing to GitHub?

https://github.com/mui/mui-toolpad/issues/389 does seem to describe what I was suggesting:

changes done in the Toolpad UI would lead to opening a PR on GitHub

Janpot commented 2 years ago

perhaps there's a good reason to save to FS and before manually pushing to GitHub?

The main reasons we had in mind were