Skip to content

[plan] Add fork context hint to workflow failure conclusion messages #18520

@github-actions

Description

@github-actions

Context

Closes part of #18481 — gh-aw in forks.

When a gh-aw workflow fails in a fork due to missing secrets, the conclusion/failure job opens a GitHub issue or posts a comment with a generic error (e.g., "API key not found"). There is no mention of fork context as a likely cause, making debugging very hard for fork users.

Objective

Update the conclusion job's failure reporter to include a fork-context hint when github.event.repository.fork == true.

Approach

  1. Locate where the conclusion job generates the failure issue body. This is likely in a .cjs file under actions/setup/js/ (e.g., conclusion.cjs or similar) or in the compiled workflow YAML directly.
  2. Add a check: if context.payload.repository.fork === true (or the equivalent GitHub Actions expression ${{ github.event.repository.fork }}), append a fork hint to the failure message:

    💡 This repository is a fork. If this failure is due to missing API keys or tokens, note that secrets from the parent repository are not inherited. Configure the required secrets directly in your fork's Settings → Secrets and variables → Actions.

  3. The hint should appear in the body of any issue or comment opened by the conclusion job on failure.
  4. Run make fmt-cjs && make lint-cjs to validate JS changes; run make recompile if workflow YAML was touched.

Files to Modify

  • Relevant .cjs file(s) under actions/setup/js/ that generate failure issue/comment bodies
  • Any associated test files

Acceptance Criteria

  • Fork hint is appended to failure issue/comment body when repository.fork === true
  • Hint clearly explains that secrets must be configured in the fork
  • Normal (non-fork) failure messages are unchanged
  • Linting passes
    Related to Using gh-aw in forks of repositories #18481

Generated by Plan Command for issue #18481

  • expires on Feb 28, 2026, 4:18 PM UTC

Metadata

Metadata

Labels

Type

No type
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