[GRASS-git] [OSGeo/grass] 706e7e: Check compilation with different C and C++ version...

Vaclav Petras noreply at github.com
Thu May 7 18:31:50 PDT 2020


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

  Changed paths:
    A .github/workflows/gcc.yml

  Log Message:
  -----------
  Check compilation with different C and C++ versions in CI (#596)

Add GNU C versions and C++ standards to matrix in GitHub Actions build. However, running with pedantic is too much for both C and C++, although C++ is just couple modules. C fails in configure step with pedantic. C without GNU extensions is also not possible at this point.

For the future, pure C and -pedantic-errors would be needed to actually test the full compliance with the standards (now only the most serious errors would be caught).

GDAL requires C++11, so not much point in testing C++98 and we start with C++11. PROJ 7.0.0 requires C99, so not much reasons to check older C for the future esp. given that we need GNU extensions at this point anyway.

Performing these GCC-based C/C++ dialect/standard checks separately from Ubuntu build checks with defaults. This avoids all C/C++ std combos being tested in both Ubuntu versions thus reducing number of jobs which need to run (2D matrix instead of 3D). This now adds 6 (2x3) additional jobs instead of 10 (2x2x3-2) if it would be combined with the Ubuntu builds.

Adding also C17 as gnu17 in a comment to be enabled in the future because that's currently the new default, but it is not available in Ubuntu 18.04.

The name of the workflow is both unique (which is more than just a visual, e.g., for queries, but also in the interface) and tailored to be displayed together with job names which are as short as possible for better display.




More information about the grass-commit mailing list