Update github actions to run on more python versions
Inspired by the CI actions in LibCST, this PR:
- runs test, lint, and fixit in separate jobs
- builds a distribution for pypi
- runs on 3.9 and 3.10 python versions
Codecov Report
:exclamation: No coverage uploaded for pull request base (
main@a41b609). Click here to learn what that means. The diff coverage isn/a.
@@ Coverage Diff @@
## main #210 +/- ##
=======================================
Coverage ? 86.15%
=======================================
Files ? 91
Lines ? 3749
Branches ? 0
=======================================
Hits ? 3230
Misses ? 519
Partials ? 0
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact),ø = not affected,? = missing dataPowered by Codecov. Last update a41b609...eb7b6f8. Read the comment docs.
I'll re-open this when my other PRs land
Some suggestions:
- Use the new caching support in the
setup-pythonaction [1]. That will save you a lot of work/configuration and make the whole file easier to read. - Set up RTD to automatically build on PRs [2], so you can skip the docs action entirely. I use this for µsort and all of my personal projects, and gives better signal because you can see the docs live on RTD.
- Why not run lint and typecheck on all Python runtimes? I've seen multiple cases in the past where lint fails on the oldest or newest runtime, but not others, for legitimate reasons that wouldn't have been caught otherwise. And at that point, maybe just combine those steps with the test step, so that it's fewer signals on the PR and easier to sort through.
- Same thing for coverage, as that will ensure that any
if sys.version_info < (3, 10)blocks will still get counted towards final, combined coverage results.
Hey there! We appreciate your contributions, but we're in the process of making some large changes to the core of Fixit. We will try to have more info about the direction we're heading soon, but in the mean time, we are closing all outstanding PR's from before we started this work. Thank you for your understanding.