ci: run tests in containers
This patch adds GitHub Actions tests that run in containers to support
running tests on Debian and Fedora. Ubuntu tests are also run in
containers.
The io_uring (t0018) and command priority (in latency_percentiles.py)
tests are not supported in containers, so the Ubuntu container tests
cannot replace the tests running directly on GitHub Actions Ubuntu
runners.
This is a single uncomfortably large patch because all of these changes
are required for the tests to pass.
Here is a list of changes:
ci.yml:
add GitHub Actions jobs for the different containers
actions-build.sh:
use bash found in PATH to pick up bash 4 installed on macOS because
bash 4 is required to match multiple patterns in a case statement
only enable cuda when running on Ubuntu because Debian does not have
the cuda package by default
actions-full-test.sh:
skip io_uring and cmdprio tests when running on containers because
these features are not supported
actions-install.sh:
install nvidia-cuda-dev only on Ubuntu because this is not available
for Debian by default
install additional packages when running on Debian and Ubuntu
containers. These are already installed in the GHA image.
install packages for Fedora
install bash via homebrew on macOS to get bash v4
Signed-off-by: Vincent Fu <vincent.fu@samsung.com>