After the successful migration from SVN to git earlier this year (here and here), a new feature has been implemented and enabled: GRASS GIS source code analysis with GitHub Actions to build (compile), test, and perform Python static code analysis, in order to improve the overall quality, maintainability and standard compliance of our code.
The C and C++ source code is checked with GCC C/C++ checks including GNU C11 and C++11. For Python code, an initial static code analysis/code quality check/linting using Flake8 has been implemented. The workflow builds and tests GRASS GIS on Ubuntu 16.04, 18.04, Centos 7 as well as OSGeo4W. Success, errors and warnings are reported accordingly in the GitHub Actions interface for each pull request.
This code analysis has been set up as a continuous integration (CI) workflow, i.e. after each source code change - when submitting a “pull request” - it is triggered automatically.
Besides core GRASS GIS (master and release_branch_7_8) also the addons repository has a minimalistic set of source code analysis enabled.
We seek contributors for extending our tests! Please don’t hesitate to submit comments or code editions here.