CI: ModelDB CI workflow that reuses an existing wheels artifact - #3838
Conversation
Add a workflow_dispatch entry point to retest ModelDB against wheels from a prior run (no wheel rebuild), with modeldb_ci_ref selecting the nrn-modeldb-ci package tip. Temporarily calls the modeldb-ci branch that adds the ref input; switch uses@ to master after that lands.
|
✔️ 6d70d68 -> artifacts URL |
|
✔️ 6d70d68 -> Azure artifacts URL |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #3838 +/- ##
==========================================
+ Coverage 68.34% 68.38% +0.03%
==========================================
Files 701 701
Lines 112267 112267
==========================================
+ Hits 76731 76774 +43
+ Misses 35536 35493 -43 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
neuronsimulator/nrn-modeldb-ci#154 landed the callable `ref` input on master. Drop the temporary pin to hines-grok/modeldb-ci-ref-input.
|
|
✔️ 64f0f27 -> artifacts URL |
|
✔️ 64f0f27 -> Azure artifacts URL |
|
@ramcdougal Please approve. Needs to be in master for github actions to list it in "All workflows". At that point , after some testing, if the workflow needs improvment, the workflow interface allows one to choose a controller branch (PR) and increment changes til satisfied (and add documentation as well). |



Summary
When a NEURON Release (or other wheel-building run) is green through the
wheel matrix but fails only at ModelDB CI, rebuilding every wheel just to
retest ModelDB is wasteful.
This PR adds a manual workflow, ModelDB CI (reuse wheels), that:
wheelsartifact (id or URL)nrn-modeldb-ciwith that artifact asneuron_v2modeldb_ci_ref(branch/tag/SHA ofnrn-modeldb-cito checkout formodeldb-run.yaml/runmodels)models_to_run(space-separatedaccessions; empty = all)
No wheels are built in this workflow.
Operator flow
wheels.8935275231) or ahttps://github.com/neuronsimulator/nrn/actions/artifacts/<id>URL.gh workflow runafter this file is on the default branch — GitHub only registers
workflow_dispatchworkflows frommaster).neuron_v1(e.g.neuron==9.0.1),modeldb_ci_ref(usuallymaster),and optional
models_to_run(e.g.2018023 2020504for a smoke test).Scope note
ModelDB installs one compatible wheel from the multi-wheel zip (first that
pip accepts on the job's Python), not the full OS×Python matrix. That matches
existing
nrn-modeldb-cibehavior.Dependency
Requires the
refinput on the callable modeldb-ci workflow:Until that is merged, this workflow temporarily uses:
Before merge to nrn master, switch that line to
@masteronceneuronsimulator/nrn-modeldb-ci#154 is on modeldb-ci master (or land that PR
first, then flip in this PR).
Follow-ups (out of scope here)
modeldb_ci_refto the full NEURON Release panel (samerefpass-through).
@hines-grok/modeldb-ci-ref-inputpin afterCI: add ref checkout input and run models on Python 3.12 nrn-modeldb-ci#154 merges.
Test plan
modeldb-ci-reuse-wheels.ymlso the workflow is registeredon the default branch (GitHub requirement for
workflow_dispatchUI/gh)@masteror keeptemporary
@hines-grok/modeldb-ci-ref-input)artifact
8935275231while unexpired),neuron_v1=neuron==9.0.1,modeldb_ci_ref=master,models_to_run=2018023 2020504checkout the requested ref; smoke accessions do not reintroduce the old
"4 failed model builds" gate for those ids
(Add 2018023 and 2020504 ModelDB CI configs nrn-modeldb-ci#153 on master)
models_to_runempty) as a longer checkuses@masteronce CI: add ref checkout input and run models on Python 3.12 nrn-modeldb-ci#154 ismerged