Skip to content

fix(ci): contract test handles no-auth + canary gate#3

Merged
bntvllnt merged 2 commits into
mainfrom
fix/ci-resilient
May 27, 2026
Merged

fix(ci): contract test handles no-auth + canary gate#3
bntvllnt merged 2 commits into
mainfrom
fix/ci-resilient

Conversation

@bntvllnt
Copy link
Copy Markdown
Owner

Two CI fixes: (1) contract test now validates OpenAI error envelope on non-200 and on mid-stream error frames (no [DONE], per OpenAI convention); (2) gate canary publish on vars.ENABLE_CANARY so it skips until npm trusted-publisher is configured.

bntvllnt added 2 commits May 27, 2026 22:00
…vars.ENABLE_CANARY

- tests/contract.mjs: validate OpenAI error envelope on non-200 chat completion
  responses and on mid-stream error frames (no [DONE], per OpenAI convention).
  CI without provider auth now passes cleanly because the upstream errors are
  shape-checked rather than treated as test failures.
- tests/contract.mjs: log the first available model id from /v1/models and use
  it for the live calls (instead of hardcoding openai-codex/gpt-5.4); fall back
  to the codex id when no models are available so the error-path is still
  exercised.
- .github/workflows/publish.yml: gate canary publish on `vars.ENABLE_CANARY ==
  'true'`. Skip when unset (until npm trusted-publisher is configured for
  bntvllnt/pi-gateway). Avoids the red 'failure' marker on every push to main.
@bntvllnt bntvllnt merged commit 656e59c into main May 27, 2026
1 check passed
@bntvllnt bntvllnt deleted the fix/ci-resilient branch May 27, 2026 20:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant