]> granicus.if.org Git - graphviz/commit
CI: fix missing 'OS_ID' env var in ctest jobs
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Wed, 9 Feb 2022 05:55:00 +0000 (16:55 +1100)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Mon, 14 Feb 2022 20:11:08 +0000 (07:11 +1100)
commit50db0c5e8da293d816d8b5c4620f2fa2d311d37a
tree0721e689c1f832c98f1053a0a226dee9a8dddfe2
parentcb503e5ef5712c804a1f7e7c88c78d2094f53797
CI: fix missing 'OS_ID' env var in ctest jobs

Jobs inheriting from this template were attempting to set `$OS_ID` from the file
OS_ID that did not exist before `install-package.sh` was run. The result was
output in the build log like:

  export OS_ID=$( cat OS_ID )
  cat: OS_ID: No such file or directory

Somewhat surprisingly, tests were still passing. The reason is that `$OS_ID` is
only accessed in ci/tests.py and on Ubuntu (the platform used for both ctest
jobs) the only `$OS_ID`-based skip is for `mingle`, that is also coincidentally
skipped due to these jobs using the CMake build system where `mingle` is not
build. That is, the mingle check is meant to be skipped on lines 104-108, but
actually ends up skipped on lines 116-122 due to `$OS_ID` being empty.

In future, all of this should be refactored to use a less brittle technique for
asking “what distro are we running on?” When moving to Python 3.10,
`platform.freedesktop_os_release()` would be the obvious candidate.
.gitlab-ci.yml