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

Set up better infrastructure for header diffing between releases.

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • P4: Low
    • 6.2
    • None
    • qtqa module
    • None

    Description

      We need a good way to view and review changes between published headers between releases.

      Presently, we publish a diff between the last and imminent release as a Gerrit code review; this fails to use Gerrit well, as it just sees a big fat file (that happens to be a diff) being added to some repo; it is thus just a way to annotate a big file, that happens to be a diff, without getting any benefit from Gerrit's ability to mark up a diff nicely.

      Proposal: have a separate git repo into which, after each release, we push that release's generated includes/ directory as a commit representing that release. We can then do a shadow build of the next release's RC, coax git into accepting its built state as a new commit nominally on a branch off the last release and push the result to Gerrit for code review. This shall display the diff between the new generated header tree and the last release, so that we get the benefit of Gerrit's ability to display diffs nicely, whether side-by-side or unified. We can likewise review the new commit relative to older releases, as needed (e.g. we shall likely want to compare 5.8 against the latest LTS release as well as 5.7).

      As well as C++ include files, we probably also want whatever describes our public QML APIs, so that we can check for changes there.

      The qtsdk [0] module allegedly contains useful tools; frederik mentioned packaging-tools/header-diff.pl as the present script to generate the diff; and suggested one of the programs built under qtbase/bin/ - perhaps qmlimportscanner or qmlplugindump - might be some help for the QML APIs. I shall need more information about these tools from those who know them, as neither of the two named understands a -h or --help option.

      [0] https://codereview.qt-project.org/#/admin/projects/qtsdk/qtsdk
      git clone [--bare] ssh://codereview.qt-project.org/qtsdk/qtsdk.git

      Attachments

        Activity

          People

            david.skoland David Skoland
            Eddy Edward Welbourne
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: