[GRASS-git] [OSGeo/grass] 4bb3a3: Add GitHub Actions to build, run tests, and Python...

Vaclav Petras noreply at github.com
Mon Apr 20 08:49:31 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/OSGeo/grass
  Commit: 4bb3a3ad8821d65fe744adc38d6042282d264b98
      https://github.com/OSGeo/grass/commit/4bb3a3ad8821d65fe744adc38d6042282d264b98
  Author: Vaclav Petras <wenzeslaus at gmail.com>
  Date:   2020-04-20 (Mon, 20 Apr 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 lib/python/.flake8

  Log Message:
  -----------
  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 at least 50% success rate (using the --min-success flag). There is currently 45% of tests failing. 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 to .github/workflows (possibly to be moved if general enough).




More information about the grass-commit mailing list