[GRASS-git] [OSGeo/grass] 555006: Add GitHub Actions with build, test, and Python st...

Vaclav Petras noreply at github.com
Thu May 7 10:57:00 PDT 2020


  Branch: refs/heads/releasebranch_7_8
  Home:   https://github.com/OSGeo/grass
  Commit: 555006043e867673b9bc61e8e3f1b5fea5e98922
      https://github.com/OSGeo/grass/commit/555006043e867673b9bc61e8e3f1b5fea5e98922
  Author: Vaclav Petras <wenzeslaus at gmail.com>
  Date:   2020-05-07 (Thu, 07 May 2020)

  Changed paths:
    A .github/workflows/apt.txt
    A .github/workflows/build.sh
    A .github/workflows/ci.yml
    A .github/workflows/flake8.yml
    A .github/workflows/test_simple.sh
    A .github/workflows/test_thorough.sh
    A gui/wxpython/.flake8
    A lib/python/.flake8
    A scripts/.flake8
    A temporal/.flake8

  Log Message:
  -----------
  Add GitHub Actions with build, test, and Python static code analysis (#583)

This mostly cherry picks 4bb3a3a, 39415e8, and 80b51d7 from master and then adds several adjustments for 7.8 branch.

Add GitHub Actions to build, run tests, and Python static code analysis (#525):

This adds a CI workflow with build and test running on Ubuntu 16.04 and 18.04. The build job is not parallelized and is meant for clear and relatively fast check of compilation and building in general. This way it is clear if the compilation failed when the test job failed without examining the output. (Duplicating what is currently running on Travis.)

The test job needs to build first, but the main focus is to run tests, so the compilation is parallelized (depending on nproc) and thus potentially less readable. This runs the whole test suite. Failing tests (file names) are displayed.

The test job requires minimal success rate using the (backported) --min-success flag. Test uses nc_spm_full_v2alpha2 location from fatra.cnr.ncsu.edu for tests.

Additional work flow adds a static code analysis/code quality check/linting using Flake8 for Python code in lib/python, gui/wxpython, scripts and temporal directories (separately). As an experiment, who approaches are employed in dealing with current errors. lib/python uses a configuration file which ignores code in testsuite directories and ignores a lot of errors specified in the configuration. The other directories use the default settings and the failure is ignored using GitHub Actions configuration.

Helper files are placed into .github/workflows (possibly to be moved if general enough).

Ignore current errors from wxGUI, scripts, and temporal (#537):

Python code errors from Flake8 are now ignored gui/wxpython, scripts, and temporal
in the same way as in lib/python. Unique set of errors is used for each directory
to keep ignored errors at minimum.

Serious errors are sorted at the top. Whitespace at the bottom.
Line length is set to 88, but ignored.

Further:

Add numpy and other Python pkgs to CI (#585)

Push the min required success to maximum to 90%. The current tests are running with 90-91% success rate in 7.8 branch, so let's test for that.

It changes the grass command from grass79 to grass78.




More information about the grass-commit mailing list