-
Notifications
You must be signed in to change notification settings - Fork 135
Every time someone pushes to the repository or makes a pull-request, the changes will be piped into various continous integration services. Those services execute tests and check whether the code builds without errors. Currently the builds and tests run for Windows, Mac OS, Linux and FreeBSD.
Each system uses a different services, since no service offers support for all systems.
The Linux builds runs on Circle CI, the Mac OS build on Travis CI, the Windows build on AppVeyor and the FreeBSD build on sourcehut. Recently a GitHub actions workflow using a matrix build for Windows, Ubuntu and Mac OS has been added. The long term goal is to abandon the external services, since it's much simpler to be able to manage the builds for all operating systems on one platform.
While some of the CI services may produce artifacts, those shouldn't be used by end-users, as those are unlikely to be considered stable.
Unlike the other services, the Circle CI build has also been tasked with running various linting tasks and uploading code coverage reports to CodeCov.
If your commit has been marked as failed, this doesn't necessarily mean, that you did something wrong. It could be that over time something has changed in the build environment provided by the build services, there are errors in the build scripts or that your commit has lowered the test coverage. While lowering the test coverage isn't nice, it doesn't really matter, depending on the change you have made.