Skip to content

ci(runtime): make live-inference smoke honestly non-blocking#1900

Merged
danielmeppiel merged 1 commit into
mainfrom
fix-ci-runtime-nonblocking-inference
Jun 25, 2026
Merged

ci(runtime): make live-inference smoke honestly non-blocking#1900
danielmeppiel merged 1 commit into
mainfrom
fix-ci-runtime-nonblocking-inference

Conversation

@danielmeppiel

Copy link
Copy Markdown
Collaborator

TL;DR

The nightly Live Inference Smoke job in ci-runtime.yml hard-failed on main every night even though its own annotation says the result "does not block releases." This makes the step honestly non-blocking so the daily false-red stops, while keeping the real gate intact.

Problem (WHY)

ci-runtime.yml's Run inference validation step had no continue-on-error, so its exit 1 reddened the whole job. The very next step (Annotate result) emitted "... this does not block releases" — purely cosmetic. The documented intent and the actual gate disagreed, producing a persistent, misleading red on main.

The live-inference hero scenarios behind that step exercise apm run against GitHub Models and require:

  • a Copilot-entitled credential for the launched runtime, and
  • a GitHub Models-compatible runtime — codex >= v0.116 is incompatible with GitHub Models (/responses 404s), see apm#605.

Neither is guaranteed in CI, so these tests are a smoke signal, not a release gate.

Approach (WHAT)

  • Add id: inference + continue-on-error: true to the Run inference validation step.
  • Rewrite Annotate result to read steps.inference.outcome (not job.status) so the annotation stays truthful (it still reports the real failure) while the job goes green-with-warning.
  • Document the known causes inline in the annotation.

The real gate — Run smoke tests (pytest, tests/integration/test_runtime_smoke.py) — stays blocking and is unaffected.

Scope notes

How to test

  • Trigger ci-runtime.yml via workflow_dispatch. With a non-entitled CI token the inference step will fail, but the job concludes green and surfaces a ::warning:: annotation naming the known causes. The pytest smoke step still gates as before.

The nightly Live Inference Smoke job hard-failed on main because the
'Run inference validation' step had no continue-on-error, so its exit 1
reddened the job even though the adjacent annotation claimed the result
'does not block releases'. The documented intent and the actual gate
disagreed.

The live-inference hero scenarios exercise 'apm run' against GitHub
Models and depend on a Copilot-entitled credential plus a GitHub
Models-compatible runtime, neither guaranteed in CI (codex >= v0.116 is
incompatible with GitHub Models -- apm#605). They are a smoke signal,
not a release gate.

Mark the step continue-on-error with an id, and rewrite 'Annotate
result' to read steps.inference.outcome (not job.status) so the
annotation stays truthful while the job goes green-with-warning. The
real gate (Run smoke tests / pytest) stays blocking.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings June 25, 2026 16:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Makes the ci-runtime.yml live-inference validation step honestly non-blocking (green job with an explicit warning/notice), aligning workflow behavior with the stated intent of treating live inference as a smoke signal rather than a release gate.

Changes:

  • Marks the Run inference validation step as continue-on-error: true and gives it an id for outcome inspection.
  • Updates the annotation logic to report the inference step’s own outcome (instead of job.status) so failures are still surfaced even when non-blocking.
Show a summary per file
File Description
.github/workflows/ci-runtime.yml Makes live-inference validation non-blocking and updates result annotation to key off the inference step outcome.

Copilot's findings

  • Files reviewed: 1/1 changed files
  • Comments generated: 1

Comment on lines +96 to 100
if [[ "${{ steps.inference.outcome }}" == "success" ]]; then
echo "::notice::Runtime inference smoke passed"
else
echo "::warning::⚠️ Runtime inference tests failed — this does not block releases"
echo "::warning::Runtime inference smoke failed -- non-blocking. Known causes: the CI token is not a Copilot-entitled credential for live inference, and codex >= v0.116 is incompatible with GitHub Models (apm#605). This does NOT gate releases."
fi
@danielmeppiel danielmeppiel merged commit 89abf6b into main Jun 25, 2026
14 checks passed
@danielmeppiel danielmeppiel deleted the fix-ci-runtime-nonblocking-inference branch June 25, 2026 17:06
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.

2 participants