2021.02.13 23:43 "[Tiff] CI and Coverity static analysis", by Roger Leigh

Hi folks,

Brief update on the GitLab CI. Today I’ve created a couple of new repositories under the “libtiff” group:

https://gitlab.com/libtiff/libtiff-ci-ubuntu20.04
https://gitlab.com/libtiff/libtiff-ci-ubuntu20.04-coverity

The former is a standard Ubuntu 20.04 image with the LibTIFF build dependencies and tools provisioned inside it.

The latter is the former with the Coverity static analysis tools provisioned as well. It’s separate due to the size of the Coverity installation.

Both of these can be used in CI pipelines to avoid the need to download and install the needed packages every single time a job is run. So this saves time and removes a potential point of failure if the needed mirror is unavailable.

This does mean that if you need extra packages installing, you can’t do it in the libtiff .gitlab-ci.yml any more. Instead, you’ll have to open a merge request against the above libtiff-ci-ubuntu20.04 repository, making an edit to the Dockerfile to add or remove the packages. Once that change is merged, the next libtiff CI pipeline will use the updated container image automatically.

https://gitlab.com/libtiff/libtiff/-/merge_requests/225 is a merge request to switch over to using these containers, and to enable the Coverity static analysis so that it will be run every time a merge request is merged onto master. You will see at the top of the page at https://gitlab.com/libtiff/libtiff there is now a “coverity” badge which will link directly to the Coverity information about the LibTIFF static analysis. Hopefully this will be useful!

If there are any other platforms or tools we wish to add to our regular CI testing, it is pretty straightforward to add additional repositories like the above, which create custom container images for CI use.

Kind regards,

Roger