# GitHub Actions: Expected — Waiting for status to be reported (required check never runs on the pull request)

**Code:** `Expected — Waiting for status to be reported` · **Category:** CI/CD · **Seen on:** GitHub Actions

Branch protection requires a status check that no workflow reports for this PR, so the merge button stays blocked.

## Meaning

A required check is matched by its exact name. If a workflow uses `paths` filters, `if:` conditions that skip the job, a renamed job, or matrix names that differ, the check never reports and shows "Expected". Skipped jobs report "Skipped" (which satisfies the rule) but jobs of a workflow that did not trigger report nothing.

## Common causes

- Workflow with `paths`/`branches` filters that did not trigger for this PR
- Job renamed, so the required name no longer exists
- Matrix job names changed (`test (18)` vs `test (20)`)
- Workflow disabled or failing to parse
- Required check from a GitHub App/service that is not installed

## Quick fix

1. Make the workflow always run, or add a lightweight "required" job that always passes
2. Update the required check names in Settings → Branches
3. Fix the YAML error that prevents the workflow from running

## Detailed fix by platform

### GitHub Actions

1. Pattern: a final job `needs: [build, test]` with `if: always()` that fails if any needed job failed, and require only that job

## Code examples

### One stable required check

```yaml
jobs:
  all-green:
    if: always()
    needs: [build, test]
    runs-on: ubuntu-latest
    steps:
      - run: |
          [[ "${{ contains(needs.*.result, 'failure') }}" == "false" ]]
```

## How to diagnose

1. **Name** — Exact required check name?
2. **Trigger** — Did the workflow run for this PR?
3. **Filters** — paths or if-conditions skipping jobs?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/cicd/gha-required-check-waiting-for-status)
