fourMs / MGT-python

Musical Gestures Toolbox for Python
https://www.uio.no/ritmo/english/research/labs/fourms/downloads/software/musicalgesturestoolbox/mgt-python/index.html
GNU General Public License v3.0
52 stars 11 forks source link

Integrating Github CI, and more #291

Closed fisheggg closed 8 months ago

fisheggg commented 1 year ago

It seems that the package is built offline right now, and I would suggest using the Continuous Integration functionality of Github.

For each commit and PR, it can automatically run unittests under various setups, e.g. platforms, architectures and python versions. This can help us save time on building, testing, and reduce the risk of releasing a new version with bug.

Moreover, we can get a fancy "CI passing" badge in readme, just like librosa has: https://github.com/librosa/librosa

For tutorials of Github CI, I suggest we can start reading from this doc: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

PS: I think other badges that librosa has are also worth adding, such as pypi, anaconda, codecov, and docs. But these requires additional work, so I think we can start with the Github CI badge.

joachimpoutaraud commented 8 months ago

I have added a Github CI to the toolbox so that we can get a nice CI passing badge each time someone is pushing or pulling something to the repository. Currently the the CI check for the installation of the toolbox using anaconda on different OS (macos, ubuntu, windows) and different python versions (3.8, 3.9, 3.10).

I have also added a test.yml file, but it still needs some work as it is required to update all the scripts that are in the tests folder. For testing the tests scripts, it is just needed to uncomment the last block of code in the test.yml file.

Finally, I have added a pypi and license badge for checking the version and the licence, and I also created a documentation online on readthedocs in order to add a docs badge for checking the documentation. In the future, it would be wise to remove the old naming convention mg_function from all the toolbox functions, as this is confusing in the documentation.