lsalzman / enet

ENet reliable UDP networking library
MIT License
2.77k stars 673 forks source link

Add GitHub Actions CI #188

Closed Croydon closed 1 year ago

Croydon commented 2 years ago

This adds some basic CI builds via GitHub Actions.

This produces a build matrix [Linux, Windows, MacOS] x [Debug, Release] and builds ENet with CMake with the default detected compiler in the respective GitHub Actions environment (currently: GCC 9, Visual Studio 2019 and Apple Clang 13).

Later on, this could be extended to cover more compilers, compiler versions and build systems (Makefile, Premake), but it is a start to get some CI going for ENet.

An exemplary run can be seen here: https://github.com/Croydon/enet/actions/runs/4323673027

If this is merged, GitHub will run this CI for every future push and pull request, no further configuration is required whatsoever.

Croydon commented 1 year ago

@lsalzman Any chance that you would have a minute to look at this?

lsalzman commented 1 year ago

Is there really a need for this?

bjorn commented 1 year ago

Is there really a need for this?

No, but it makes sure that enet compiles fine on all major platforms. To me it seems like a good check to have in place, and I don't see any downsides in doing that.

Also, you can see the compiler output so it can bring to attention lingering issues, like the use of deprecated APIs gethostbyname, inet_ntoa and gethostbyaddr on Windows.