CI: perform matrix builds on supported OSs
CI: perform matrix builds on supported OSs

Leverage Github Actions matrix build support to build on
Debian buster & testing and Ubuntu bionic & focal.

In order to be able to use a different Docker image for each build, we
must use the `container` directive, rather than `uses` which does not
support variable expansion.

When using `container`, a persistent container is created, using "tail
-f /dev/null" as its "init". This has the nasty side-effect of not
reaping any daemon processes, breaking the ganeti.util.process
unittests. As Github overrides the Dockerfile's ENTRYPOINT, the only
workaround that seems to work is passing `--init` to `docker create`.

Additionally, we disable the fail-fast mechanism, as we don't want
all builds to be cancelled when one breaks.

Signed-off-by: Apollon Oikonomopoulos <ed81ed0a45ccd5c8869bda52e38353a6299ee39e@dmesg.gr>

ganeti/ganeti,ganeti/ganeti,ganeti/ganeti