SpikeInterface / SpikeInterface/spikeinterface
One CI script to rule them all. Remaining improvements to testing
Open
@h-mayorquin is already working on this.
Since Jun 27, 2024.
continuous integration
- Dominant language
- Python
- Stars
- 847
- Forks
- 280
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 29
Description
- Add windows and macos to the CI. https://github.com/SpikeInterface/spikeinterface/pull/2937
- Add caching jobs for each os https://github.com/SpikeInterface/spikeinterface/pull/3075
- Drop caching of dependencies. https://github.com/SpikeInterface/spikeinterface/pull/3080
- Add machinery for only testing the changed files in python https://github.com/SpikeInterface/spikeinterface/pull/3084
- Add plexon action to tests. #3101
- Drop linux exclusive full tests script as this is already done in the single script. #3101
- Add streaming tests and drop them. Now that we don't have ros3 they don't really need that isolation and they consume time and our priority on the queue. #3129
- Add support for macos latest. #3422
- Check that core behaves as in the core tests and drop core tests [mainly dependencies]
- Order test for less costly to more costly so they fail faster when they have to.
- Add dependencies for each of the modules to delay installation and make testing more efficiency (see comment on https://github.com/SpikeInterface/spikeinterface/pull/3101#discussion_r1662255885 for a head start)
- Use uv installer on the CI to decrease dependency installation time.
- Solve the need for editable installs in the CI. This probably indicates there is something wrong with our import structure.
- Deep interpolation tests, does it work on the other OSs?
Anyone interested in taking some of those points to learn CI? If you fancy learning about the import machinery and the mess that PEP 660 introduced the editable install problem is a good intro. Ordering tests by time should rather easy as well as well as creating module based dependencies (e.g. the dependencies that are needed for running that specific module dependencies).
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.