Skip to content

conformance: fix /api/runner call in the new federation CI script - #272

Merged
osanderson merged 1 commit into
mainfrom
conformance-as/federation-plan-runner-fix
Sep 11, 2026
Merged

conformance: fix /api/runner call in the new federation CI script#272
osanderson merged 1 commit into
mainfrom
conformance-as/federation-plan-runner-fix

Conversation

@osanderson

Copy link
Copy Markdown
Collaborator

Summary

Follow-up to #271 (already merged). That PR's CI checks (lint/test/SonarCloud/codecov) never actually exercise run-federation-plan.py — the real conformance workflow only runs on a daily schedule or manual workflow_dispatch, not on a PR. Running the new script against the still-live local suite/containers from #271's own manual verification surfaced a real bug that would have broken tomorrow's scheduled run.

  • run-federation-plan.py sent {} as the JSON body for POST /api/runner?test=...&plan=... — the suite rejects that outright (HTTP 400, empty body). The suite's own client (Connect.create_test_from_plan_with_variant in the suite's own scripts/conformance.py) sends that call with query params only, no body at all. /api/plan still needs its config as a real JSON body, so post_json now takes payload=None to mean "send no body," defaulting to the old behavior when a payload is given.
  • Also records a second, previously undiscovered discovery WARNING every module hits (CheckDiscEndpointRequestObjectSigningAlgValuesSupportedIncludesRS256 — this AS doesn't advertise RS256 for request-object signing, same root cause as the already-known/expected FAILURE) in expected-warnings-federation.json.

Test plan

  • Ran the fixed run-federation-plan.py directly against the live local suite (same containers conformance: add OpenID Federation leg to CI conformance workflow #271 was manually verified against): 5/5 modules passed, exit 0 — confirmed both expected-warnings entries correctly match and nothing else is unexpected.
  • Manually re-verified the AS-key → Trust-Anchor-subordinates sync logic run_federation_plan (bash) performs, end to end, against the live containers — correct.
  • Could not locally exercise run_federation_plan's own docker compose up --build step end to end — hits this machine's known, pre-existing Docker Hub pull hang (unrelated to this change; same issue documented from earlier manual verification work). Expected to work fine in GitHub Actions, which already successfully builds these same Dockerfiles for the other 20 legs.
  • python3 -m py_compile / JSON validity on both changed files

🤖 Generated with Claude Code

run-federation-plan.py sent {} as the JSON body for POST
/api/runner?test=...&plan=..., which the conformance suite rejects
outright (HTTP 400) — the suite's own client sends no body at all for
that call, only query params. Found by actually running the script
against a live local suite (something PR #271's own CI checks never
exercised, since the daily/on-demand conformance workflow doesn't run
on a PR). Also records a second, previously undiscovered discovery
WARNING every module hits (this AS doesn't advertise RS256 for request
object signing either, same root cause as the already-known FAILURE).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017N2kkxv9BR4Qmj8De3Ucs6
@codecov

codecov Bot commented Sep 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@sonarqubecloud

Copy link
Copy Markdown

@osanderson
osanderson merged commit 8251799 into main Sep 11, 2026
9 checks passed
@osanderson
osanderson deleted the conformance-as/federation-plan-runner-fix branch September 11, 2026 15:51
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