Guides
GitHub sync
Keep a project and a GitHub repository in step.
GitHub sync is newer than the rest of Modloom and has had limited real-world use. It is available when GitHub integration is enabled for the service. Keep your own backups of anything important.
GitHub sync links one project to one GitHub repository so your code lives where the rest of your tooling does.
Set it up#
- Open Integrations in the sidebar and choose GitHub.
- Link your GitHub account, then install the Modloom GitHub App on your account or organization.
- Open a project, go to the GitHub tab and either create a new repository (private by default) or link an existing one.
If an existing repository already contains files, you are asked to confirm before Modloom overwrites what is there.
Signing in with GitHub does not give Modloom access to your repositories. The GitHub App is separate and only gets the access you grant when you install it.
How syncing works#
- Before every run, Modloom pulls new commits from GitHub. If both sides changed, GitHub wins.
- After each successful Build run, Modloom pushes the result. Pushes are fast-forward only.
- Commits use the agent's commit message. Several runs between pushes can be folded together.
When the branches diverge#
If GitHub has moved on in a way Modloom cannot fast-forward, your work is pushed to a separate branch named modloom/ followed by a short id, and the project shows Diverged. There is no merge screen. Resolve it in GitHub, then continue.
What gets synced#
The agent works with text files, within size limits for a single file and for the project as a whole. Binary files, build output and vendored folders pass through untouched. These paths are never read: node_modules, .git, .modloom, build, target, dist, out, .gradle and .idea.
Unlinking and deleting#
- Unlink from the GitHub tab. This does not delete the repository.
- Deleting a project does not delete a linked repository either.
Limits to know#
- One repository and one branch per project.
- Importing an existing repository as a new project is not available.
- Commits you make on GitHub are picked up on the next run, or when GitHub notifies Modloom of a push.