It's still not entirely clear what the underlying issue is, but the ALSA
device provided by pulseaudio stops working after so many tests use it.
I've tried various approaches, but simply restarting pulseaudio after
every test is a bruteforce but successful solution. In practice it also
doesn't have any noticeable performance penalty, so it seems like a file
solution.
The `CI_TESTING` environment variable is used to avoid restarting
pulseaudio if the tests aren't being run in the CI environment (we don't
want to restart your pulseaudio instance if you're running them locally!)
This adds a fake sound card to the GitHub build agents. The existance of
a fake sound card allows us to run tests using the audio backend on the
build agents without getting errors.
Splitting up the build process into separate workflows makes it easier
to differentiate the builds for each, since each Workflow will get a
different name and history of builds. The actual build process remains
the same.