Open alexmorley opened 4 years ago
*within a reasonable budget
Biggest problem here is that the only CI service that offer GPU machines is circleCI which are very expensive (CPU is free). Potential solutions:
Split the unit tests into GPU and CPU. GPU ones will just have to be run locally for now. We can mock out parts of the algorithm that use the GPU so this is probably the neatest short term but prevents us from running integration tests.
Ask circleCI nicely to give us a GPU machine for testing. They do do this for open source projects (at least they say they do) so this is worth a shot.
Just run all testing locally as it is now. Increases the burden for reviewing new code and reduces confidence we aren't breaking things.
Lots of the things we want to test need data. There are three solutions that we can use (we will probably need all of them).
input/expected_output
in the repo (if they are very small) or we can download them like for the integration tests (probably better).Integration Tests: It's best to use some reasonably sized data here (and real data ideally). So I think we should host some data (or grab from somewhere with an API) in order to run the tests.
Solution in #8. Potential drawback is dependency on spikeforest. Maybe should zip it and host it somewhere too.
Requires: