* Just for a laugh, lets naively throw the same build at non linux OS
* Only run apt commands on linux (yes, this is not actually right, but it is close enough for github actions at the moment)
* Start installing required macOS packages
* Only run apt commands on linux #2
* Ensure that we use a Bourne shell, even on Windows
* Until it is clear how to install autotools on windows in github runners, avoid fighting that bear
* Only try to run gcovr on ubuntu-latest
* Install the right macos dep
* Install gcovr on macos and upload all coverage report artifacts
* Upload a generated tests output artifact, even if the tests failed
* Prepend a quick smoke test to the full matrix and coverage builds
* Use short names for jobs
* Add a simple test framework
* Add a code coverage report example oneliner
* Move the coverage report into a separate directory
* Add a github action to run tests and publish a branch with the coverage report
* Fix: Missing job separator
* Fix: remember to actually run configure
* Fix: Gotta autogen before I configure
* Dont try to upload coverage report unless this is a push
* Clearly show the git ref tested in the coverage report
* Add a test for the various transforms
* Add tests for the elliptic curve and pearson hash
* Ensure we ignore new generated output
* Remove unneeded boilerplate from the compression tests
* Add an example of a test of the encoded wire packets
* Ensure that correctly testable data is output even when zstd is not compiled
* Factor test runner out into its own script and attempt to add it to the cmake file
* Tell cmake about a new object file
* Stop trying to make Cmake work...
* Stop trying to make cmake work, round 2
* In the middle of a thousand lines of cmake output was one important one - windows could not find assert() - try again
* Try again to plumb the tests into cmake
* Add missing library to our superset install line
* Fix build error when libcap-dev is installed
* Switch to using artifact uploads instead of pages to store/show the coverage report
* Fix artifact upload yaml
* Upload coverage report to codecov
* Fix codecov - clearly it doesnt do a recursive search for coverage files
* Fix codecov - my hopeful use of a list of directories didnt work
* Fix codecov - unfortunately, it doesnt just consume the coverage data and needs us to generate the gcov output
* Fix codecov - nope, it still doesnt recursively search
* Fix codecov - it really helps if I run the gcov data generator
* Add a simple matrix build
* Fix older ubuntu versions of gcovr that do not support the '--html-title' option
* Ensure we use gcover options that are identical on older ubuntu
* Improve coverage generation and required build packages
* Move the makefiles towards a clearer arrangement
* Break circular make dependancy and start using implicit rules for most compilation
* Fix old cmake to compile again after renames