mozilla / cubeb-rs

ISC License
66 stars 19 forks source link

Extending CI with macOS, windows (possibly also rustfmt, auto-publish, clippy suggestions) #48

Closed mitchmindtree closed 2 years ago

mitchmindtree commented 4 years ago

I noticed there is already some CI setup for testing on Linux here. I thought it might be worth opening an issue for testing on other platforms and adding some other handy tools to the CI process.

Recently CPAL switched their CI from a combination of travis, appveyor and circle-ci to use Github workflows. I'm still a little new to the way they work, but one nice benefit seems to be that each of the main platforms are supported in one place. You can find CPAL's workflow here where the following jobs are specified:

I should mention that while it's convenient to have all CI in one place like this, it comes with the downfall of being a little more tied down to Github. Then again, I suppose it is not too tricky to switch to a different service in the case that the repository is moved, and this workflow could be used as a reference assisting in the process.

Would you be interested in a PR that adds a workflow with jobs similar to those above?

kinetiknz commented 4 years ago

That sounds great, thank you. The current CircleCI setup we've got here tends to break easily and is painful to manage due to requiring Docker image rebuilds to update the build environment. Improvements are definitely welcome!

Do you know if the GitHub workflow instances have working audio (hardware or dummy drivers) on various platforms? We run a restricted set of tests in the current cubeb repos due to a lack of audio hardware in the CI instances and have been leaning on Gecko's CI infrastructure for testing, but it's an awkward workflow where it's all to easy to break things upstream and discover them later in the Gecko CI. We had just starting looking at installing dummy audio drivers on Windows Travis to help with this, so if the GitHub workflow instances work out of the box that's a huge win.

kinetiknz commented 2 years ago

CI builds on Linux/macOS/Windows now, with rustfmt and clippy integration. I'll mark this as done.