jaseg / python-mpv

Python interface to the awesome mpv media player
https://git.jaseg.de/python-mpv.git
Other
532 stars 67 forks source link

Add CI #228

Closed trin94 closed 2 years ago

trin94 commented 2 years ago

Hey,

I've added CI jobs for the project. They run on Windows and Ubuntu 22.04 using Python 3.8 - Python 3.10 respectively. On Ubuntu, we install libmpv using the package manager, on Windows we get a build from sourceforge :sweat_smile:

Two major things worth mentioning:

There are quite a few commits. I deceived to keep them so that you can follow my thought process. If you decide to merge this PR, feel free to squash them :+1:

Edit: Link to the actions in action: https://github.com/trin94/python-mpv/actions

jaseg commented 2 years ago

Looks good to me. Thanks for going to the effort!

The test_wait_for_property_event_overflow test AFAIR depends on some libmpv build-time constant and is timing-sensitive. Since it is only checking that a safeguard works anyway, and since actually triggering this overflow condition is fairly difficult in practice, I think it's fine if that does not run on all platforms.

I wasn't aware of the python 3.7 issue. I obviously broke that adding the new future-based async features. I'm going to look into that, but I can imagine simply dropping 3.7 support since 3.7 only has a year left until its upstream EOL anyway, and even debian stable is on 3.9 by now.