Skip to content

fix(ci): vendor Prism uploader + fix infra-smoke Prism upload#107

Merged
tfcollins merged 1 commit into
mainfrom
feat/vendor-prism-uploader
Jul 2, 2026
Merged

fix(ci): vendor Prism uploader + fix infra-smoke Prism upload#107
tfcollins merged 1 commit into
mainfrom
feat/vendor-prism-uploader

Conversation

@tfcollins

Copy link
Copy Markdown
Owner

What

Fixes the Prism upload step in infra-smoke.yml, which never worked.

Why

The step did:

pip install "prism-uploader @ git+.../analogdevicesinc/prism.git#subdirectory=scripts"
python -m prism_client.upload_run --junit ... --labgrid-place ... --leg boot --git-sha ...

Every part was wrong: analogdevicesinc/prism doesn't exist, scripts/ has no packaging (so nothing to pip install), there's no prism_client module, and --labgrid-place/--leg/--git-sha aren't real flags. The real uploader is a standalone stdlib-only script (scripts/upload_run.py) in the private tfcollins/prism repo — so it can't be pip-installed or fetched anonymously. (This step is copied from hw-request.yml, which has the same latent bug.)

How

  • Vendor upload_run.py + _prism_client.py verbatim into adi_lg_plugins/hw_ci/prism_upload/ (stdlib-only, ~554 lines). Excluded from ruff; re-sync from source if upstream changes.
  • Expose an adi-lg-prism-upload entry point.
  • Rewrite the Prism step to run the vendored uploader from the installed package with the correct CLI: positional junit, --token via PRISM_TOKEN, --project --auto-create-project --run-name, and --tag key=value (place/board/carrier/mode/git-sha). No pip-install, no private-repo fetch.

Validation

Ran the vendored uploader against the live Prism server end to end: token auth succeeded, run uploaded (status=pending, rc=0). Added a wiring test; full tests/hw_ci/ suite green (238), lint clean.

Note

hw-request.yml / matlab-hw-request.yml have the same broken Prism step — a follow-up could switch them to adi-lg-prism-upload too.

https://claude.ai/code/session_01BuMAqiic68LrMr6wWC7NCe

The Prism step installed "prism-uploader @ git+.../analogdevicesinc/prism.git
#subdirectory=scripts" and ran `python -m prism_client.upload_run` — but that
repo doesn't exist, scripts/ has no packaging, and there is no prism_client
module. The uploader is a standalone stdlib-only script (scripts/upload_run.py)
in the *private* tfcollins/prism repo, so it can't be pip-installed or fetched
anonymously.

Vendor the two stdlib-only files verbatim into
adi_lg_plugins/hw_ci/prism_upload (excluded from ruff; re-sync from source) and
expose an adi-lg-prism-upload entry point. Rewrite infra-smoke's Prism step to
run the vendored uploader from the installed package with the correct CLI
(positional junit, --token via PRISM_TOKEN, --tag key=value). Validated end to
end against a live Prism server.

Claude-Session: https://claude.ai/code/session_01BuMAqiic68LrMr6wWC7NCe
@tfcollins tfcollins merged commit 854d82a into main Jul 2, 2026
6 checks passed
@tfcollins tfcollins deleted the feat/vendor-prism-uploader branch July 2, 2026 01:58
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