Hi, I am a new contributor, recently made 2 PRs to the scikit-image repo and I plan to stay and contribute more. I recently learned that open-source projects get a limited resource for the CI tests, so I was wondering if it is still required for small changes in documentation or a minor bug fix? I would understand if it’s required however if it’s not then let me know how can I opt-out from it to save resources. Thank you.
Hey, I’m certain that there is a limit to the CI resources that we can use, but so far we haven’t run into it and as a FOSS project we get those CI resources mostly donated to us.
Being more selective in which jobs are triggered is something we could do, and have done (benchmarks were triggered by a label). But recently nobody has had the resources and incentive to do more in this area. It’s not a trivial problem, because we really want to avoid mistakes slipping through because some CI checks are skipped and want a robust infrastructure.
But you are totally correct, there very are good reasons to be mindful of the resources that we use. Those CPU cycles come with a cost to the environment. And long runtimes of our CI translate to long waiting times during contribution.
Just recently, we’ve been trying to reduce the time it takes our total CI to complete and avoid unnecessary work, e.g.,
- Don't check test coverage in CI by lagru · Pull Request #7594 · scikit-image/scikit-image · GitHub
- Build docs in parallel instead of sequentially on Azure by lagru · Pull Request #7593 · scikit-image/scikit-image · GitHub (still open)
I’d be very happy to see even more progress in this regard!
There’s also Skipping workflow runs - GitHub Docs. But in almost all cases of code changes at least some parts of our CI need to be run to verify it.