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

Enable git cloning sources when building Qt on the CI

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • P2: Important
    • None
    • 6.8
    • None
    • 601cebd76 (dev), bba87d221 (6.8), 84d15433b (dev), ccf27f0f9 (6.8), 9228da724 (dev), cc37ca087 (6.8), 870c3723f (dev), 5717a4fd4 (dev), 72c8fc3bb (6.9), 9bd173f53 (6.8), 3f2698ce3 (6.9), ce64027cb (6.8), 6544fc26e (dev), df21776d4 (6.9), 5b37973d0 (6.8)

    Description

      It would be good to enable git cloning sources when building Qt on the CI.
      This should encompass all qt repos.

      Advantages:
      1) It will allow embedding exact sha1s into the SBOM generated by the Qt build system.
      2) It makes it easier to apply changes and do other kind of modifications when qt developers are working on a CI VM.

      Disadvantages:
      1) It will increase CI build phase time.
      A quick check of qtbase suggests it slows down around a minute or two.
      Toni says this is not cloning /fetching from code.qt.io, but rather an internal coin git mirror.
      There are still opportunities to optimize this by fetching fewer refs perhaps.

      Sample log snippet:

      https://codereview.qt-project.org/c/qt/qtbase/+/564092

      https://testresults.qt.io/coin/integration/qt/qtbase/tasks/1716915583

      https://testresults.qt.io/coin/log/qt/qtbase/5093b86409046790789ce4bfb750bf0cd4181e0f/LinuxRHEL_8_8x86_64AndroidAndroid_ANYx86_64GCCqtci-linux-RHEL-8.8-x86_64-50-c723faAndroidTestRun_Sccache_UseConfigure_WarningsAreErrors/6b58287dd229d2e6772bc2c0e6ae6fc12a4bec55/build_1716916141

      agent:2024/05/28 17:06:48 build.go:795: Executing instruction 8 of 212 - ChangeDirectory
      agent:2024/05/28 17:06:48 build.go:820: cd  /home/qt/work/qt/qtbase
      agent:2024/05/28 17:06:48 build.go:1190: 
      agent:2024/05/28 17:06:48 build.go:795: Executing instruction 9 of 212 - ExecuteCommand
      agent:2024/05/28 17:06:48 build.go:427: [git clone --jobs=8 -n --depth=50 git://10.215.100.35:9418/qt-project/qt/qtbase .] 15m0s 15m0s false false
      agent:2024/05/28 17:06:48 build.go:404: Cloning into '.'...
      agent:2024/05/28 17:06:54 build.go:1190: 
      agent:2024/05/28 17:06:54 build.go:795: Executing instruction 10 of 212 - ExecuteCommand
      agent:2024/05/28 17:06:54 build.go:427: [git fetch --recurse-submodules origin b768af2ff90ddb2764a67242c66be2d77110d300] 15m0s 15m0s false false
      agent:2024/05/28 17:07:46 build.go:404: From git://10.215.100.35:9418/qt-project/qt/qtbase
      agent:2024/05/28 17:07:46 build.go:404:  * branch                  b768af2ff90ddb2764a67242c66be2d77110d300 -> FETCH_HEAD
      agent:2024/05/28 17:07:46 build.go:1190: 
      agent:2024/05/28 17:07:46 build.go:795: Executing instruction 11 of 212 - ExecuteCommand
      agent:2024/05/28 17:07:46 build.go:427: [git checkout --force b768af2ff90ddb2764a67242c66be2d77110d300] 15m0s 15m0s false false
      agent:2024/05/28 17:07:48 build.go:404: Note: switching to 'b768af2ff90ddb2764a67242c66be2d77110d300'.
      agent:2024/05/28 17:07:48 build.go:404: You are in 'detached HEAD' state. You can look around, make experimental
      agent:2024/05/28 17:07:48 build.go:404: changes and commit them, and you can discard any commits you make in this
      agent:2024/05/28 17:07:48 build.go:404: state without impacting any branches by switching back to a branch.
      agent:2024/05/28 17:07:48 build.go:404: If you want to create a new branch to retain commits you create, you may
      agent:2024/05/28 17:07:48 build.go:404: do so (now or later) by using -c with the switch command. Example:
      agent:2024/05/28 17:07:48 build.go:404:   git switch -c 
      agent:2024/05/28 17:07:48 build.go:404: Or undo this operation with:
      agent:2024/05/28 17:07:48 build.go:404:   git switch -
      agent:2024/05/28 17:07:48 build.go:404: Turn off this advice by setting config variable advice.detachedHead to false
      agent:2024/05/28 17:07:48 build.go:404: HEAD is now at b768af2ff9 WIP: coin: Enable git cloning for qtbase
      agent:2024/05/28 17:07:48 build.go:1190: 
      agent:2024/05/28 17:07:48 build.go:795: Executing instruction 12 of 212 - ExecuteCommand
      agent:2024/05/28 17:07:48 build.go:427: [git submodule update --init --recursive] 30m0s 15m0s false false
      agent:2024/05/28 17:07:48 build.go:1190: 
      agent:2024/05/28 17:07:48 build.go:795: Executing instruction 13 of 212 - ChangeDirectory
      agent:2024/05/28 17:07:48 build.go:820: cd  /home/qt/work
      

      Attachments

        Issue Links

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

          Activity

            People

              jujokini Jukka Jokiniva
              alexandru.croitor Alexandru Croitor
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes