Skip to content

fix(e2e): add COPILOT_API_KEY to canary Docker allowlist and skip when absent#1963

Open
Stephen Belanger (Qard) wants to merge 5 commits intomainfrom
fix/copilot-canary-env
Open

fix(e2e): add COPILOT_API_KEY to canary Docker allowlist and skip when absent#1963
Stephen Belanger (Qard) wants to merge 5 commits intomainfrom
fix/copilot-canary-env

Conversation

@Qard
Copy link
Copy Markdown
Contributor

@Qard Stephen Belanger (Qard) commented May 7, 2026

Summary

  • The canary Docker runner (e2e/scripts/run-canary-tests-docker.mjs) forwards secrets to the container via an explicit ALLOWED_ENV_KEYS allowlist. COPILOT_API_KEY was missing from that list, so the GitHub Copilot scenario always failed inside Docker even when the key was configured in the GHA job env.

Test plan

  • Verify e2e-canary job passes on this PR with COPILOT_API_KEY secret set
  • Verify e2e job skips the copilot tests gracefully when key is absent (shows as skipped, not failed)

🤖 Generated with Claude Code

@Qard Stephen Belanger (Qard) added the bug Something isn't working label May 7, 2026
The canary Docker runner forwards secrets to the container via an explicit
ALLOWED_ENV_KEYS allowlist. COPILOT_API_KEY was missing from that list, so
the GitHub Copilot scenario always failed inside Docker even when the key
was set in the GHA job env.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Stephen Belanger and others added 4 commits May 7, 2026 10:31
Turbo v2 strict mode (activated by globalPassThroughEnv being defined)
strips any env var not explicitly listed. COPILOT_API_KEY was absent from
both globalPassThroughEnv and the test:e2e task env list, causing it to
be unavailable to the Vitest process and all subprocesses it spawns.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…o test:e2e:record

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Canary tests make real API calls against the latest provider SDK versions.
File snapshots were recorded with cassette replay, so real API responses
produce output that diverges from the stored snapshots.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants