prodigyeducation/python-graphql-client

Run linter checks on push

steve148 opened this issue · 2 comments

Is your feature request related to a problem? Please describe.

As of now, the linter checks for the project only run locally before a contributor commits. This assumes that each contributor has setup pre-commit on their machine and that everything they commit does not break our linter rules. There is no guarantee that this is the case though, so we need a mechanism for checking linter warnings across the whole project before someone can merge.

Describe the solution you'd like

Ideally this mechanism would use the same linter checks we already do before a contributor can commit, including black for code formatting, flake8 for linter checks, and unit tests to check for breaking changes. It should be run before anyone can merge changes into master and if any of the checks fail it should block merging into master until they are fixed.

I'm currently leaning towards using Github actions as my experience with them has been really solid. Using actions would mean the majority of this project's complexity would live within Github as well, which may be easier to understand / navigate for users.

Describe alternatives you've considered

If people have different opinions on what tool to use for doing this Continuous Integration checks, then we could use another tool (CircleCI, Travis CI, etc.). Ideally the tool would be free and easy to reason about.

Additional context

@steve148 Your solution sounds reasonable to me though I've never used Github actions! Can't want to see Github actions to take effect on the PRs.

Addressed by #11