Summary
The reusable workflows introduced for PHP version inference reference a composite action in a path that is excluded from GitHub's archive payload, causing workflow runs to fail with:
Can't find 'action.yml', 'action.yaml' or 'Dockerfile' for action 'php-fast-forward/dev-tools/.github/actions/resolve-php-version@main'.
Problem
The resolver action was placed under .github/actions/..., but this repository marks /.github/ as export-ignore in .gitattributes.
When GitHub resolves uses: owner/repo/path@ref, it fetches the repository archive for that ref. Because .github/ is excluded, the action metadata file is missing at runtime.
A follow-up attempt to place the action under resources/github-actions/... would also be problematic because dev-tools:sync copies that directory into consumer workflow paths.
Acceptance Criteria
- Move the composite action to a packaged path that is included in GitHub action archives.
- Keep the action outside
.github/ so export-ignore does not strip it.
- Keep the action outside
resources/github-actions/ so dev-tools:sync does not copy it into consumer .github/workflows.
- Update
wiki.yml, reports.yml, and tests.yml to reference the new action path.
- Validate the affected workflow YAML files after the path change.
Non-goals
- Reworking the PHP version resolution logic itself.
- Reintroducing workflow-ref checkouts for the resolver bootstrap.
Summary
The reusable workflows introduced for PHP version inference reference a composite action in a path that is excluded from GitHub's archive payload, causing workflow runs to fail with:
Problem
The resolver action was placed under
.github/actions/..., but this repository marks/.github/asexport-ignorein.gitattributes.When GitHub resolves
uses: owner/repo/path@ref, it fetches the repository archive for that ref. Because.github/is excluded, the action metadata file is missing at runtime.A follow-up attempt to place the action under
resources/github-actions/...would also be problematic becausedev-tools:synccopies that directory into consumer workflow paths.Acceptance Criteria
.github/soexport-ignoredoes not strip it.resources/github-actions/sodev-tools:syncdoes not copy it into consumer.github/workflows.wiki.yml,reports.yml, andtests.ymlto reference the new action path.Non-goals