Skip to content

[CI Health Check] Fork PRs with outdated branches not triggering CI workflows #52

Description

@ChrisRackauckas-Claude

Summary

During automated CI health check on 2025-12-30, I discovered that PR #51 (created from a fork) is not triggering any GitHub Actions workflows, despite CI working correctly for other recent fork PRs.

Problem Details

Affected PR: #51
Branch: ChrisRackauckas-Claude:ci-health-check-20251229-235956
Symptom: Zero CI workflow runs triggered (both CI.yml and Documentation.yml)

Investigation Results

  1. No workflow runs triggered:

    • Commit SHA: 56b9cbfc569c4265998cde1723d4c071857e5fc4
    • Check-runs API returns: {"total_count":0,"check_runs":[]}
    • PR created 5 hours ago with no CI activity
  2. Branch state:

    • Branch is 152 commits behind main
    • Mergeable state: "dirty" (merge conflict)
    • Based on outdated commit 3c9fb36 which contains [ci skip] in message (though the PR's own commit does not)
  3. Comparison with working PR:

  4. Workflow configuration:

    • .github/workflows/CI.yml correctly configured with pull_request: trigger
    • Workflow state: "active"
    • No changes to workflow files between the two PRs

Root Cause Analysis

The issue appears to be caused by the extreme divergence (152 commits behind) of the fork branch from the base repository. This suggests:

  1. Possible GitHub Actions security restriction: GitHub may require manual approval for workflows on severely outdated fork PRs to prevent malicious code execution
  2. Workflow synchronization issue: The fork's workflow configuration may be out of sync with the base repository
  3. Merge conflict preventing trigger: While unusual, the "dirty" merge state might prevent automatic workflow triggers

Impact

  • CI health checks cannot be performed reliably from outdated fork branches
  • PRs from outdated forks may silently fail to run CI, creating a false sense of security
  • No visible indication to PR authors that workflows need manual approval or branch updates

Recommended Actions

  1. Immediate: Close PR CI Health Check - Testing master branch #51 and investigate branch synchronization
  2. For future CI health checks:
    • Ensure fork is up-to-date with main before creating test PRs
    • Use git fetch origin && git merge origin/main to sync branches
  3. Repository setting review: Check if "Require approval for fork pull request workflows" is enabled
  4. Document workflow requirements: Add guidelines for fork PR creators about keeping branches current

References

@ChrisRackauckas - This indicates a potential gap in CI coverage for fork PRs that may need attention.


CI Health Check performed: 2025-12-30 10:00 UTC

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions