Uploaded image for project: 'Qt Quality Assurance Infrastructure'
  1. Qt Quality Assurance Infrastructure
  2. QTQAINFRA-6624

Debug builds (and testing) with asserts should exist in all platforms

XMLWordPrintable

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: P1: Critical P1: Critical
    • None
    • None
    • Test configurations
    • None
    • c5ab2fe4f (dev), db32c6b6e (6.8), e2109a516 (dev)

      I was recently tipped (CC manordheim) that our CI is mostly doing release builds. This has caused bugs to slip through (QTBUG-129448) and is dangerous for leaving subtle bugs undetected as asserts are in the code for a good reason, ensuring that the code never enters indeterminate state.

      I went through the configurations in qtbase, and I see only 1 linux build (besides ASAN) being debug with tests, and only 1 on macos.

      Reasons:

      • Too many builds have explicit -release flag
      • A non developer-build is by default a release build
        • Can we change our cmake scripts to default to debug build, unless -release is provided?
      • Many of the developer-builds have explicit -release flag
      • Some platforms build -debug-and-release but they build tests only RelWithDebInfo

      Solution: The default mode for a configuration added to the CI should be debug
      if we care about CI catching bugs early...

      Doing release builds is of course needed for releasing.

      • Only the configurations that produce release binaries should be in release mode
      • They only need to be in release mode when release binaries are generated.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            jujokini Jukka Jokiniva
            jimis Dimitrios Apostolou
            Votes:
            1 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes