You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A workflow-specific model override cannot currently be optional when engine.model is backed by a GitHub Actions variable. If the variable is unset, the expression resolves to an empty string, but gh-aw still propagates that empty value as the engine model. The Copilot engine requires a non-empty model value, so the variable becomes mandatory instead of falling back to normal model resolution.
gh aw compile holistic-review --validate --schedule-seed dotnet/runtime
The generated workflow contains:
COPILOT_MODEL: ${{ vars.HOLISTIC_REVIEW_MODEL }}
When HOLISTIC_REVIEW_MODEL is not defined, GitHub Actions resolves it to an empty string. That empty model value is passed through rather than treated as if engine.model had been omitted.
Expected behavior
When an expression-backed engine.model resolves to an empty string, gh-aw should treat the value as omitted and use its normal Copilot model resolution (GH_AW_MODEL_AGENT_COPILOT, GH_AW_DEFAULT_MODEL_COPILOT, then the compiler/runtime default).
This would allow a workflow-specific override to be optional without embedding a model identifier that can later become unavailable.
Actual behavior
The empty value is propagated to the engine, so the workflow-specific variable must always be configured.
Workarounds
Either:
Define the variable in every repository/environment where the workflow runs, or
Put a hard-coded fallback in workflow source, which can become stale when model availability changes.
Note
This issue was drafted with GitHub Copilot on behalf of the reporter.
Summary
A workflow-specific model override cannot currently be optional when
engine.modelis backed by a GitHub Actions variable. If the variable is unset, the expression resolves to an empty string, but gh-aw still propagates that empty value as the engine model. The Copilot engine requires a non-empty model value, so the variable becomes mandatory instead of falling back to normal model resolution.Minimal reproduction
Compile with gh-aw v0.82.6:
The generated workflow contains:
When
HOLISTIC_REVIEW_MODELis not defined, GitHub Actions resolves it to an empty string. That empty model value is passed through rather than treated as ifengine.modelhad been omitted.Expected behavior
When an expression-backed
engine.modelresolves to an empty string, gh-aw should treat the value as omitted and use its normal Copilot model resolution (GH_AW_MODEL_AGENT_COPILOT,GH_AW_DEFAULT_MODEL_COPILOT, then the compiler/runtime default).This would allow a workflow-specific override to be optional without embedding a model identifier that can later become unavailable.
Actual behavior
The empty value is propagated to the engine, so the workflow-specific variable must always be configured.
Workarounds
Either:
Note
This issue was drafted with GitHub Copilot on behalf of the reporter.