# CI Status Requirements

Aviator MergeQueue supports any CI system that integrates with [<mark style="color:blue;">GitHub status checks</mark>](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks).

In GitHub, you can require tests to be passing with [<mark style="color:blue;">protected branches require status check</mark>](https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/about-protected-branches#require-status-checks-before-merging) before merging. By default, Aviator MergeQueue uses the same data as GitHub status checks, but it allows you to add more requirements at different levels.

* Pre-queue status requirements
  * Same as the GitHub protected branch status requirement, this configuration is the status requirement before merging.
  * MergeQueue requires both GitHub protected branch configuration and this configuration to be satisfied. However, MergeQueue configuration can be more flexible than GitHub one.
* Draft PR status requirements
  * When a pull-request enters a queue, MergeQueue creates a new temporary branch and a PR, which is called "draft PR". This draft PR contains the changes from the queued PR and the latest target branch (e.g. `main`) so that we can test with the latest changes.

You can require the same sets of tests for both, or if needed, you can require different tests to be passing.

## See also

* [<mark style="color:blue;">MQ Created Branches</mark>](/mergequeue/concepts/optimizing-ci-execution.md) for additional details on the CI setup.
* [<mark style="color:blue;">Pre-Queue Conditions</mark>](/mergequeue/concepts/pre-queue-conditions.md) for other conditions you can set for the pre-queue time.
* [<mark style="color:blue;">Conditional Checks</mark>](/mergequeue/how-to-guides/customize-required-checks.md#conditional-checks) and [<mark style="color:blue;">wildcards</mark>](/mergequeue/how-to-guides/customize-required-checks.md#using-wildcards) for the flexible configuration options on the test status requirements.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.aviator.co/mergequeue/concepts/ci-status-requirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
