-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
Some thoughts, very much open to discussion. Most relevant to @MichaelClerx @martinjrobins @ben18785.
- Move the actual functional tests to the main PINTS repo. This will ensure all PINTS specific code is version controlled with PINTS, not somewhere else. I would imagine this being a new top level directory in the PINTS repo. This also means a single commit hash gives you a complete view into PINTS + functional testing state at once.
- Functional testing repo would just contain code for running those tests, helping to separate code that uses PINTS from the infrastructure that runs the functional test.
- Use GitHub pages to host a new (hugo) website for showing results, using this template: each model (mcmc_banana, nested_normal, etc) would have top-level navigation sections, with specific tests (mcmc_banana_DifferentialEvolutionMCMC, mcmc_banana_DreamMCMC, ...) being individual pages containing plots.
- Frontpage would include an overview of any currently failing tests (with links).
- Outputs could be customised on a per-test basis because each test would write to a dedicated table in the sqlite database: presumably functional testing would pass a database connection to the test. This eliminates the need for a hacky random JSON object, and instead each test would have a nice simple flat data table containing all relevant info.
- Plots would use altair, would be interactive, and allow clicking through to commits, hovering over points, etc.
- Each test would be responsible for plotting: for instance by returning a list of vega-lite specifications.
- The tests could be run on skip, via GitHub actions: each run would cause a fresh checkout of functional testing and PINTS, and would refer to a hardcoded database location (which will grow and is not suitable for versioning).
Anyone have any major thoughts/comments on this as a basic structure?
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
To do