Documentation › Get started
Pull request previews
A live preview of each pull request with a fresh database, a check and a comment on GitHub, and how forks are kept safe.
Every pull request of the project's repository gets a preview : a development environment of the pull request's head commit, with a fresh database and demo data. It is never a copy of production data. Reviewers open the link from the pull request, test, and leave their review on GitHub.
How a preview is built
From a branch of the repository. Pushing a branch already builds it as a development branch. The pull request reuses that branch, so nothing is built twice. If Cloud Buddy doesn't have the branch yet, it creates one for the pull request.
New commits build again, the same way as any push to a development branch. The preview builds the head commit, so changing the base branch doesn't rebuild it.
Closed or merged : a branch created for the pull request is removed, with its database. A branch that existed before the pull request stays. The closed pull request stays listed for a week.
Previews are listed under Pull requests in the branch list, with their author, head → base , status and links. Click one to open its logs, mails, shell and history like any branch.
On GitHub
The head commit gets an odoo-cloud/preview check: pending while it builds, then success with the preview's address, or failure with the build log. Cloud Buddy also posts one comment with the preview link and keeps it up to date instead of adding a new comment on every push. Turn either off in Settings → Pull request previews . They use the project's GitHub token. If GitHub can't be reached, the build still runs.
Pull requests from forks
Anyone can open a pull request from a fork, so its code isn't trusted. It isn't built until a project admin clicks Build this PR , which approves that exact commit, like GitHub's Approve and run . A later commit needs a new approval, and the approved preview keeps running until then. Admins can build fork pull requests automatically with Build pull requests from forks , but only do that when you trust the repository's contributors.
A fork's preview is always isolated:
It has its own database role and file storage. It can't open the team's development databases or files, like shell history or AI tool sign-ins.
It's built without Odoo Enterprise and with a throwaway master password. Submodules are fetched anonymously from public HTTPS addresses only, so your repository token and deploy keys are never used.
Backups can't be restored into it and databases can't be imported. It can't be moved to staging or production, or merged from Cloud Buddy . Merge the pull request on GitHub.
Notebooks and AI dev tools aren't available in it. Like every development build, its emails go to the Mails tab.
Limits and sleep
A project runs up to 3 previews at once by default. Change this in Settings → Pull request previews . When a new preview needs a slot, Cloud Buddy stops the least recently used preview that nobody has opened for 30 minutes. If every preview is in use, the new one waits with a message on the pull request. It starts on its next push, or when someone clicks Build this PR . Previews sleep when nobody visits them and are removed after a few days without a build, like development branches.
The webhook Previews need the repository webhook with the Pull requests event. Webhooks installed by Cloud Buddy include it. If you added the webhook by hand, tick Pull requests in its events on GitHub.