Skip to content

Set up Travis CI testing for more compiler implementations and C/C++ standards #823

@jimklimov

Description

@jimklimov

As discussed in #810 (comment) we have a number of coding issues hidden into warnings, ultimately different ones if we variate the requested C/C++ standard implementation. Currently we build on Travis CI with whatever compiler and its options are the default for distribution Travis offers at the time of build, and without hiccups on warnings.

The idea proposed here is to utilize Travis CI ability to run jobs allowed to fail (so no direct impact on passing-or-not CI tests) with our matrix of CC, CXX, CFLAGS and CXXFLAGS definitions to test with different versions of gcc, clang, maybe others and with different C standards inside that, with and without required failure on warnings.

When a target combo becomes green, we can mark it as no longer allowed to fail, to ensure that future contributions do not break it again (non-regrassion).

Overall this should make it easier for developers to update the NUT codebase and see potential issues introduced by their changes, without noise from already existing problems that this effort aims to ultimately eradicate. This would allow us as a community to be more confident about the quality of code even before we get it to testing against real hardware devices, media, protocols and third-party libraries and OS code involved. We'd be doing the best we can, on our side of equation :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    CIEntries related to continuous integration infrastructure (here CI = tools + scripts + recipes)enhancementrefactor/fightwarnPR or issue proposal to improve code maintainability without functional changes, or to fix warnings

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions