Skip to content

Remote workflow call still broken #24422

@strawgate

Description

@strawgate

Two bugs are interacting in cross-repo reusable workflows:

  1. The stale lock check resolves the caller workflow instead of the callee reusable workflow, so it looks for the .md and .lock.yml in the wrong repo and fails as "outdated or unverifiable".
  2. on.stale-check: false is treated as an internal gh-aw flag but is still emitted into the compiled root on: block, producing invalid GitHub Actions YAML.

Observed behavior

In the failing case, the lock check resolved the source repo to the caller repo and then tried to fetch the reusable workflow files there, where they do not exist.

At the same time, trying to disable the check in source frontmatter with:

on:
  workflow_call:
  stale-check: false

compiles to invalid YAML like:

on:
  stale-check: false
  workflow_call:

which GitHub rejects.

Expected behavior

  • Cross-repo reusable workflow lock checks should resolve the callee reusable workflow as the source of truth.
  • on.stale-check should affect compiler behavior only and must not be emitted into the final workflow YAML.

Suggested fix

  • Resolve reusable workflow source from the Actions run referenced_workflows data instead of github.workflow_ref / GITHUB_WORKFLOW_REF.
  • Strip stale-check from the parsed on map before serializing the compiled root on: section.

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