FP505 · context-not-available
An expression uses a context or function that GitHub does not allow in that field (e.g. `env` in a reusable workflow call’s `with:`).
| Code | Name | Category | Default severity |
|---|---|---|---|
FP505 | context-not-available | Env & expressions | 🔴 error |
Why it matters
GitHub only makes some contexts available per field. env is not passed to reusable workflows and cannot be used in jobs.\<id\>.with or jobs.\<id\>.if; secrets cannot be used in if:. GitHub rejects the whole workflow when it is triggered — often only on the branch or event that reaches it. Reported by GitHub’s own parser.
How to fix
Use a context that is available there: pass values through inputs/vars, compute them in an earlier job and read needs.\<job\>.outputs, or move the check into a step (if: env.X == ... works in steps).
Example
env:
TARGET: prod
jobs:
deploy:
uses: ./.github/workflows/deploy.yml
with:
target: ${{ env.TARGET }} # env is not available hereConfigure
Change the severity (or turn the rule off) in .github/flowpact/flowpact.config.yml, by code or by name:
rules:
FP505: off
# or: context-not-available: errorExplain it in the terminal:
flowpact explain FP505