Skip to content

Add authenticated blueapi/tiled scans and PV health checks - #2

Merged
tomkane-dls merged 1 commit into
mainfrom
blueapi-scans
Oct 16, 2026
Merged

tomkane-dls merged 1 commit into
mainfrom
blueapi-scans

Conversation

@gilesknap

Copy link
Copy Markdown
Contributor

Brings the b01-1 smoke test steps into visr-tests so the nightly CronJobs can run them unattended.

Components checks

  • components/blueapi, components/tiled: blueapi /healthz, tiled health, anonymous read and the /binned route
  • components/flipper, align, panda, iocs: read-only PV checks with aioca (CA) and p4p (PVA) through the EPICS gateway; flippers check Position_RBV is 0/1 and not INVALID; iocs reads <IOC>:UPTIME for each name in IOC_NAMES

Experiments

  • experiments/spectroscopy: obtains an OAuth2 client_credentials token, submits step and fly scans to blueapi, waits for completion and verifies each run in tiled (exit status, event count, binned RedTotal)

Other

  • httpx, pytest, pytest-asyncio, aioca and p4p are runtime dependencies so the --no-dev image can run checks
  • Unit tests fake Keycloak/blueapi/tiled with httpx.MockTransport and run PV checks against real local CA/PVA servers
  • README documents configuration and how to request and seal the client secret

Moving hardware (flipper cycling) is left for later. Wiring into b01-1-services (env, sealed secret, image tag) follows once this is released.

🤖 Generated with Claude Code

https://claude.ai/code/session_01AnYWTg1W6CEzGFkugPgeUa

Components checks: blueapi and tiled health, tiled anonymous read and
/binned route, plus read-only PV checks (aioca/p4p via the EPICS gateway)
for flippers, align, PandAs and IOC UPTIME.

Experiments: spectroscopy submits step and fly scans to blueapi with an
OAuth2 client_credentials token and verifies the runs in tiled.

httpx, pytest and pytest-asyncio become runtime dependencies so the image
can run its checks. README documents configuration and how to provision
and seal the client secret.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AnYWTg1W6CEzGFkugPgeUa
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

@tomkane-dls
tomkane-dls merged commit b6a7c14 into main Oct 16, 2026
10 checks passed
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