Currently the build and "setup" checks always check that running phantomsetup with default options succeeds, while phantom must also successfully run for one timestep (with both DEBUG=yes and DEBUG=no) on the default setup. However, it would be useful to add some further backwards compatibility checks for particular setups.
I have started doing this by adding files as attachments to the v2025 release, however this is not a good long term solution. Ideally we should
- have a repository with a series of directories containing desired "example" problems
- add the .setup and .in files to this repo
- check out this repo during the GitHub actions, perhaps via a matrix testing framework that launches a CI job for each directory?
Some caveats:
- data files like stellar profiles, these should really be added to zenodo and downloaded at runtime to avoid bloat of the examples repository
- since this is designed to run in GitHub actions, the examples should not be computationally expensive.
One idea would be to use the repository that already exists with tests from the original phantom paper:
https://github.com/phantomSPH/phantom-examples
...so to begin with we could add the "binary" and "growth" unit tests as directories.
Currently the build and "setup" checks always check that running phantomsetup with default options succeeds, while phantom must also successfully run for one timestep (with both DEBUG=yes and DEBUG=no) on the default setup. However, it would be useful to add some further backwards compatibility checks for particular setups.
I have started doing this by adding files as attachments to the v2025 release, however this is not a good long term solution. Ideally we should
Some caveats:
One idea would be to use the repository that already exists with tests from the original phantom paper:
https://github.com/phantomSPH/phantom-examples
...so to begin with we could add the "binary" and "growth" unit tests as directories.