ThePhD / infoware

C++ Library for pulling system and hardware information, without hitting the command line.
Creative Commons Zero v1.0 Universal
410 stars 84 forks source link

Implement Github Actions #59

Closed jameskr97 closed 2 years ago

jameskr97 commented 2 years ago

CI for infoware 🛠️

My intention is to build on all three platforms as I mentioned in #47. I noticed that someone had already made PR #57 before I had the chance to make this PR, thought I wanted to still share what I created, and let the maintainers choose if they would like to merge.

The main differences, is that I use one .yml file for all three operating systems. In my experience, it simplifies seeing which build failed and for which commit, verses when they are in two separate files, and you have to look at two separate separate GHA detail pages.

The only idea I pulled from #57 is adding the build status badges to the README.md. I did switch to use HTML only for the top portion with the infoware header, and a and img tags for the badges. In my opinion it looks cleaner that having all the badge+header info on a single line, though if this is not desired, I'm happy to revert the commit. (Regaurdless of switching or not, until a PR is merged, and an action CI is run on ThePhD's page, the badge on the README.md won't properly show a badge)

I was able to use ninja all three OS's. It's was able to notably cut down on my compile times for my other projects, so it's a go-to for most projects.

I was unsure what the desired CMake variable settings were, so I went with:

Please let me know if I should make any changes!

nabijaczleweli commented 2 years ago

Applied as 88b1ac1a26a86032b66fc2c519761c79f927447b, thanks!