The old CI scripts for Linux had the following two problems:
Each DISTRO-VERSION combination had its own setup script, even though they were essentially identical across the same distro.
The script setup.sh did too much: It installed packages, set up Python, installed OpenCL runtime, and installed the Zivid SDK. This is redundant, because not all jobs need all these things. For example, one does need OpenCL to do linting, and one does not need to install the Zivid SDK to create a source distribution. The old setup.sh also made it impossible to for example setup OpenCL but not install the Zivid SDK, which one would want if for example testing a whl that bundles the SDK.
This commit does a refactoring that addresses both of these issues. The result is a faster CI pipeline (less unnecessary setup), and a workflow file that more precisely describes what a job needs and does.
The old CI scripts for Linux had the following two problems:
Each DISTRO-VERSION combination had its own setup script, even though they were essentially identical across the same distro.
The script
setup.sh
did too much: It installed packages, set up Python, installed OpenCL runtime, and installed the Zivid SDK. This is redundant, because not all jobs need all these things. For example, one does need OpenCL to do linting, and one does not need to install the Zivid SDK to create a source distribution. The oldsetup.sh
also made it impossible to for example setup OpenCL but not install the Zivid SDK, which one would want if for example testing a whl that bundles the SDK.This commit does a refactoring that addresses both of these issues. The result is a faster CI pipeline (less unnecessary setup), and a workflow file that more precisely describes what a job needs and does.