close
Skip to main content

Status checks

Understand how status checks ensure commits meet repository conditions, assist pull request reviews, and manage validations like builds, tests, and deployments.

Status checks show whether commits meet the conditions set for a repository. They are usually created by external systems, such as continuous integration builds, tests, code scanning, or deployment checks.

Status checks help reviewers and maintainers understand whether a pull request is ready to merge. A check can show that work is still running, that changes passed validation, or that something needs attention.

Screenshot of a list of commits and statuses.

Anyone with write permissions to a repository can set the state for any status check in the repository.

If status checks are required for a protected branch, they must pass before the pull request can be merged. See 보호된 분기 정보.

참고

건너뛴 작업은 해당 상태를 “성공”으로 보고합니다. 필요한 검사인 경우에도 끌어오기 요청이 병합되는 것을 방지하지 않습니다.

Types of status checks on GitHub

There are two types of status checks on GitHub:

TypeDetail levelCreated by
ChecksDetailed output, annotations, and messages.GitHub Apps, including GitHub Actions.
Commit statusesA simpler status for a commit.External services and integrations.

참고

GitHub Actions generates checks, not commit statuses, when workflows are run.

Organization owners and users with push access to a repository can create checks and commit statuses with GitHub's API. See 검사에 대한 REST API 엔드포인트 and 커밋 상태에 대한 REST API 엔드포인트.

Checks

Checks can include build logs, test results, annotations, and links to more detail. In a pull request, the Checks tab helps you understand which validations ran and why a check passed or failed.

Screenshot of the "Checks" tab of a pull request. The "Checks" tab and the dropdown menu to select a commit are both outlined in dark orange.

참고

The Checks tab is populated for pull requests only if you set up checks, not commit statuses, for the repository.

When a check points to a specific line, details can also appear in the Files tab of the pull request. This helps reviewers connect automated feedback to the code being changed.

Skipping and requesting checks for individual commits

Some repositories allow checks to be skipped or requested for individual commits. This can be useful when a check is not relevant to a specific change, or when checks are not requested automatically.

For GitHub Actions workflows, you can skip workflow runs triggered by the push and pull_request events by including a skip instruction in your commit message. See 워크플로 실행 건너뛰기.

Alternatively, to skip or request all checks for your commit, add one of the following trailer lines to the end of your commit message:

  • To skip checks for a commit, type your commit message and a short, meaningful description of your changes. After your commit description, before the closing quotation, add two empty lines followed by skip-checks: true:

    $ git commit -m "Update README
    >
    >
    skip-checks: true"
    
  • To request checks for a commit, type your commit message and a short, meaningful description of your changes. After your commit description, before the closing quotation, add two empty lines followed by request-checks: true:

    $ git commit -m "Refactor usability tests
    >
    >
    request-checks: true"
    

기본적으로 Git은 연속된 줄임표를 자동으로 제거합니다. 입력한 대로 커밋 메시지를 그대로 두려면 커밋에 --cleanup=verbatim 옵션을 사용합니다. 자세한 내용은 Git 설명서의 --cleanup=<mode>를 참조하세요.

Check statuses and conclusions

Checks move through statuses as they run, then receive a conclusion when they finish. Some statuses cannot be set manually and are reserved for GitHub Actions.

StatusDescriptionGitHub Actions only?
completedThe check run completed and has a conclusion (see below).No
expectedThe check run is waiting for a status to be reported.Yes
failureThe check run failed.No
in_progressThe check run is in progress.No
pendingThe check run is at the front of the queue but the group-based concurrency limit has been reached.Yes
queuedThe check run has been queued.No
requestedThe check run has been created but has not been queued.Yes
startup_failureThe check suite failed during startup. This status is not applicable to check runs.Yes
waitingThe check run is waiting for a deployment protection rule to be satisfied.Yes

When a check has a status of completed, it has a conclusion. A successful conclusion usually means the check does not block merging. A failure, timeout, or action-required conclusion usually means someone must review the details before the pull request can merge.

ConclusionDescription
action_requiredThe check run provided required actions upon its completion. For more information, see REST API를 사용하여 검사와 상호작용하기.
cancelledThe check run was cancelled before it completed.
failureThe check run failed.
neutralThe check run completed with a neutral result. This is treated as a success for dependent checks in GitHub Actions.
skippedThe check run was skipped. This is treated as a success for dependent checks in GitHub Actions.
staleThe check run was marked stale by GitHub because it took too long.
successThe check run completed successfully.
timed_outThe check run timed out.

Retention of checks

GitHub 는 400일 동안 검사 데이터를 보존합니다. 400일이 지나면 데이터가 보관됩니다. 보관 후 10일이 지나면 데이터가 영구적으로 삭제됩니다.

끌어오기 요청을 필수 및 보관된 검사와 병합하려면 검사를 다시 실행해야 합니다.