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.
.test_template_including_ctest: &test_definition_including_ctest
stage: test
script:
- - export GV_VERSION=$( cat GRAPHVIZ_VERSION )
- - export OS_ID=$( cat OS_ID )
- ci/test_coverage.py --init
- pushd build
# Use GVBINDIR to specify where to generate and load config6
- unset GVBINDIR
- popd
- ci/install-packages.sh
+ - export GV_VERSION=$( cat GRAPHVIZ_VERSION )
+ - export OS_ID=$( cat OS_ID )
# Many of the tests run by pytest currently trigger ASan
# memory leak detections. Disable those for now.
- export ASAN_OPTIONS=detect_leaks=0