To test the build on various distro, I'm using docker containers and a Makefile for orchestration.
pros:
- You are independent of third party CI runner config (e.g. github actions runners or Travis-CI VM images).
- You can run it locally on your linux system.
- Most CI provide runner with docker and Makefile installed (e.g. Travis-CI minimal images.
cons:
- Only GNU/Linux distro supported.
- Could take few GiB (~10 GiB for all distros)
- ~500MiB OS + C++/CMake tools
To get the help simply type:
make
note: you can also use from top directory
make --directory=ci
Then you can test the image using:
make <distro>_run
From alpine:latest
Error:
Authorization required, but no authorization protocol specified
Solution:
xhost + local: