fix: add explicit model for Copilot BYOK smoke test#2006
Conversation
Copilot CLI requires --model when running in BYOK/offline mode. Without it, all attempts fail with: 'BYOK providers require an explicit model.' Set COPILOT_MODEL=gpt-4.1 in workflow env and override the compiler's empty default fallback in the lock file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
✅ Coverage Check PassedOverall Coverage
📁 Per-file Coverage Changes (1 files)
Coverage comparison generated by |
There was a problem hiding this comment.
Pull request overview
Fixes the Copilot BYOK smoke workflow failing in offline/BYOK mode due to Copilot CLI requiring an explicit model when no repo variable provides one.
Changes:
- Set a workflow-level default
COPILOT_MODEL: gpt-4.1for the BYOK smoke workflow source. - Update the compiled lock workflow to fall back to
'gpt-4.1'(instead of'') whenvars.GH_AW_MODEL_AGENT_COPILOTis unset.
Show a summary per file
| File | Description |
|---|---|
| .github/workflows/smoke-copilot-byok.md | Adds a workflow-level COPILOT_MODEL default so BYOK/offline runs always have an explicit model. |
| .github/workflows/smoke-copilot-byok.lock.yml | Ensures the generated step env fallback doesn’t override the model with an empty string when the repo variable is unset. |
Copilot's findings
Tip
Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Files reviewed: 2/2 changed files
- Comments generated: 0
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
api.githubcopilot.com requires the Copilot-Integration-Id header. In BYOK mode, the Copilot CLI sends plain OpenAI-compatible requests without Copilot-specific headers. The api-proxy sidecar must inject this header when proxying to the Copilot API. Uses 'copilot-developer-cli' as the default integration ID, matching the Copilot CLI's own value. Configurable via COPILOT_INTEGRATION_ID env var. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
- Add GitHub.com connectivity check and pre-fetched PR data comparison - Add all 4 test sections: MCP, connectivity, file I/O, BYOK inference - Update model from gpt-4.1 to gpt-5.4 - Recompile and post-process lock file Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
gpt-5.3-codex is not accessible via /chat/completions endpoint. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Smoke test results (run 24488563705) ✅ GitHub MCP — feat: add smoke test for Copilot CLI offline BYOK mode / fix(api-proxy): fix Gemini API_KEY_INVALID with credential isolation Overall: PASS
|
Smoke Test: Copilot BYOK (Offline) — ✅ PASS
Running in BYOK offline mode ( cc @lpcox
|
Smoke Test Results — OpenCode Engine
Overall: PASS
|
|
Smoke test (Codex) results:
|
🔥 AWF Smoke Test ResultsPR: fix: add explicit model for Copilot BYOK smoke test — @lpcox
Overall: PASS (verifiable tests passed; pre-step data unavailable due to unsubstituted template vars)
|
Smoke Test: GitHub Actions Services Connectivity ✅
All checks passed. (
|
Chroot Version Comparison Results
Overall: ❌ Not all tests passed — Python and Node.js versions differ between host and chroot environments.
|
🏗️ Build Test Suite Results
Overall: 8/8 ecosystems passed — ✅ PASS
|
Problem
The Smoke Copilot BYOK workflow (run #24485448304) fails on all 4 attempts with:
Copilot CLI requires
--modelwhen running in BYOK/offline mode. Thecopilot_driver.cjsreadsCOPILOT_MODELenv var to pass--model, but the compiler's auto-generated step-level env sets it to${{ vars.GH_AW_MODEL_AGENT_COPILOT || '' }}— which resolves to empty when the repo variable is unset.Fix
COPILOT_MODEL: gpt-4.1in the workflow-levelenv:section'gpt-4.1'This ensures the BYOK smoke test has a model even when the repo variable isn't configured.