Continuous integration (CI)

This page explains the continuous integration (CI) infrastructure that the Qubes OS Project uses.

Website and documentation

The following commands may be useful as a way to interact with our CI infrastructure on website ( and documentation (qubes-doc) pull requests (PRs). Note that special permissions may be required to use some of these commands. These commands are generally issued by adding a comment to a PR containing only the command.

  • PipelineRetry: Attempts to run the entire build pipeline over again. This can be useful if CI incorrectly uses a stale branch instead of testing the PR as if it were merged into master.

  • PipelineRetryFailed: Retry just failed CI jobs. Do not update the branch.

  • PipelineRefresh: Like PipelineRetry, except it only fetches the job status from GitLab. It doesn’t schedule a new build.

  • TestDeploy: Deploys a test website, which is a live version of the Qubes website as if this PR had been merged. This can be useful for previewing a PR on a live public website. Note: You must wait for the site to finish building before issuing this command, or else it will deploy an empty website. To find the URL of the test website, look for text similar to “This branch was successfully deployed” and a button named something like “View deployment.” Note that there are two different testing sites: wwwtest is manually updated, whereas wwwpreview is managed by the TestDeploy command.