Skip to content
Latchkey

GitHub Actions "workflow_run did not trigger" (default branch only)

A workflow_run-triggered workflow is evaluated from the version of the file on the default branch, and fires based on the upstream workflow completing on branches it watches. Expecting it to run from a feature branch version is a common mistake.

What this error means

The downstream workflow_run workflow never starts even though the upstream workflow completed, because the trigger definition only takes effect from the default branch.

github-actions
# Downstream "Deploy" never runs after "CI" completes on a feature branch.
on:
  workflow_run:
    workflows: ["CI"]
    types: [completed]

Common causes

Trigger only honored on default branch

workflow_run uses the default-branch version of the file; edits on a feature branch do not take effect until merged.

Upstream did not run on a watched branch

The upstream workflow completed on a branch the workflow_run config does not target.

How to fix it

Merge the trigger to the default branch

  1. Merge the workflow_run workflow to the default branch so the trigger is active.
  2. Confirm the watched workflow name matches exactly.
  3. Use branches filters intentionally; remember evaluation is from the default branch.
.github/workflows/deploy.yml
on:
  workflow_run:
    workflows: ["CI"]
    types: [completed]
    branches: [main]

How to prevent it

  • Land workflow_run trigger changes on the default branch to activate them.
  • Match the upstream workflow name precisely.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →