1type: Group
2instructions:
3  - type: Group
4    instructions:
5      - type: ExecuteCommand
6        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}/build/qt_temp/elfutils-release_0.175qt-linux-x86_64.7z http://master.qt.io/development_releases/prebuilt/elfutils/elfutils-release_0.175qt-linux-x86_64.7z"
7        maxTimeInSeconds: 3600
8        maxTimeBetweenOutput: 360
9        userMessageOnFailure: "Failed to download elfutils package, check logs."
10      - type: ExecuteCommand
11        command: "/usr/bin/7z x -y {{.AgentWorkingDir}}/build/qt_temp/elfutils-release_0.175qt-linux-x86_64.7z -o{{.AgentWorkingDir}}/build/qt_temp/elfutils"
12        maxTimeInSeconds: 3600
13        maxTimeBetweenOutput: 360
14        userMessageOnFailure: "Failed to extract elfutils package, check logs."
15      - type: ExecuteCommand
16        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}/build/qt_temp/libclang.7z {{.Env.LLVM_BASE_URL}}-linux-Ubuntu18.04-gcc9.3-x86_64.7z"
17        maxTimeInSeconds: 3600
18        maxTimeBetweenOutput: 360
19        userMessageOnFailure: "Failed to download LLVM package, check logs."
20      - type: ExecuteCommand
21        command: "/usr/bin/7z x -y {{.AgentWorkingDir}}/build/qt_temp/libclang.7z -o{{.AgentWorkingDir}}/build/qt_temp/"
22        maxTimeInSeconds: 3600
23        maxTimeBetweenOutput: 360
24        userMessageOnFailure: "Failed to extract LLVM package, check logs."
25      - type: ExecuteCommand
26        command: "python -u {{.AgentWorkingDir}}/qt-creator/qt-creator/scripts/build.py --build-type {{.Env.QTC_BUILD_TYPE}} --src {{.AgentWorkingDir}}/qt-creator/qt-creator --build {{.AgentWorkingDir}}/qt-creator/qt-creator_build --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --elfutils-path {{.AgentWorkingDir}}/build/qt_temp/elfutils --llvm-path {{.AgentWorkingDir}}/build/qt_temp/libclang --with-tests --no-zip --add-config=-DCMAKE_C_COMPILER_LAUNCHER=sccache --add-config=-DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
27        maxTimeInSeconds: 36000
28        maxTimeBetweenOutput: 3600
29        userMessageOnFailure: "Failed to run build.py, check logs."
30    enable_if:
31      condition: and
32      conditions:
33        - condition: property
34          property: host.os
35          equals_value: Linux
36        - condition: property
37          property: target.compiler
38          in_values: [GCC]
39
40  - type: Group
41    instructions:
42      - type: ExecuteCommand
43        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}/build/qt_temp/libclang.7z {{.Env.LLVM_BASE_URL}}-mac.7z"
44        maxTimeInSeconds: 3600
45        maxTimeBetweenOutput: 360
46        userMessageOnFailure: "Failed to download LLVM package, check logs."
47      - type: ExecuteCommand
48        command: "/usr/local/bin/7z x -y {{.AgentWorkingDir}}/build/qt_temp/libclang.7z -o{{.AgentWorkingDir}}/build/qt_temp/"
49        maxTimeInSeconds: 3600
50        maxTimeBetweenOutput: 360
51        userMessageOnFailure: "Failed to extract LLVM package, check logs."
52      - type: ExecuteCommand
53        command: "python -u {{.AgentWorkingDir}}/qt-creator/qt-creator/scripts/build.py --build-type {{.Env.QTC_BUILD_TYPE}} --src {{.AgentWorkingDir}}/qt-creator/qt-creator --build {{.AgentWorkingDir}}/qt-creator/qt-creator_build --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --llvm-path {{.AgentWorkingDir}}/build/qt_temp/libclang --keychain-unlock-script /Users/qt/unlock-keychain.sh --with-tests --no-zip --add-config=-DCMAKE_C_COMPILER_LAUNCHER=sccache --add-config=-DCMAKE_CXX_COMPILER_LAUNCHER=sccache"
54        maxTimeInSeconds: 36000
55        maxTimeBetweenOutput: 3600
56        userMessageOnFailure: "Failed to run build.py, check logs."
57    enable_if:
58      condition: property
59      property: host.os
60      equals_value: MacOS
61
62  - type: Group
63    instructions:
64      - type: ExecuteCommand
65        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\build\\qt_temp\\elfutils-release_0.175qt-windows-x86_64.7z http://master.qt.io/development_releases/prebuilt/elfutils/elfutils-release_0.175qt-windows-x86_64.7z"
66        maxTimeInSeconds: 3600
67        maxTimeBetweenOutput: 360
68        userMessageOnFailure: "Failed to download elfutils package, check logs."
69      - type: ExecuteCommand
70        command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\build\\qt_temp\\elfutils-release_0.175qt-windows-x86_64.7z -o{{.AgentWorkingDir}}\\build\\qt_temp\\elfutils"
71        maxTimeInSeconds: 3600
72        maxTimeBetweenOutput: 360
73        userMessageOnFailure: "Failed to extract elfutils package, check logs."
74      - type: ExecuteCommand
75        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\build\\qt_temp\\Python38-win-x64.7z http://master.qt.io/development_releases/prebuilt/python/Python38-win-x64.7z"
76        maxTimeInSeconds: 3600
77        maxTimeBetweenOutput: 360
78        userMessageOnFailure: "Failed to download python package, check logs."
79      - type: ExecuteCommand
80        command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\build\\qt_temp\\Python38-win-x64.7z -o{{.AgentWorkingDir}}\\build\\qt_temp\\python"
81        maxTimeInSeconds: 3600
82        maxTimeBetweenOutput: 360
83        userMessageOnFailure: "Failed to extract python package, check logs."
84      - type: ExecuteCommand
85        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\build\\qt_temp\\libclang.7z {{.Env.LLVM_BASE_URL}}-windows-vs2019_64.7z"
86        maxTimeInSeconds: 3600
87        maxTimeBetweenOutput: 360
88        userMessageOnFailure: "Failed to download LLVM package, check logs."
89      - type: ExecuteCommand
90        command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\build\\qt_temp\\libclang.7z -o{{.AgentWorkingDir}}\\build\\qt_temp\\"
91        maxTimeInSeconds: 3600
92        maxTimeBetweenOutput: 360
93        userMessageOnFailure: "Failed to extract LLVM package, check logs."
94      - type: ExecuteCommand
95        command: "python -u {{.AgentWorkingDir}}\\qt-creator\\qt-creator\\scripts\\build.py --build-type {{.Env.QTC_BUILD_TYPE}} --src {{.AgentWorkingDir}}\\qt-creator\\qt-creator --build {{.AgentWorkingDir}}\\qt-creator\\qt-creator_build --qt-path {{.AgentWorkingDir}}/build/qt5_install_dir --python-path {{.AgentWorkingDir}}\\build\\qt_temp\\python --elfutils-path {{.AgentWorkingDir}}\\buid\\qt_temp\\elfutils --llvm-path {{.AgentWorkingDir}}\\build\\qt_temp\\libclang --with-tests --no-zip --add-config=-DCMAKE_C_COMPILER_LAUNCHER=sccache --add-config=-DCMAKE_CXX_COMPILER_LAUNCHER=sccache --add-config=-DWITH_SCCACHE_SUPPORT=ON"
96        maxTimeInSeconds: 36000
97        maxTimeBetweenOutput: 3600
98        userMessageOnFailure: "Failed to run build.py, check logs."
99    enable_if:
100      condition: and
101      conditions:
102        - condition: property
103          property: target.compiler
104          in_values: [MSVC2013, MSVC2015, MSVC2017, MSVC2019]
105        - condition: property
106          property: target.arch
107          equals_value: X86_64
108
109  - type: Group
110    instructions:
111      - type: MakeDirectory
112        directory: "{{.AgentWorkingDir}}/build/qt_temp"
113        maxTimeInSeconds: 3600
114        maxTimeBetweenOutput: 360
115        userMessageOnFailure: "Failed to create folder qt_temp, check logs."
116      - type: ExecuteCommand
117        command: "curl --fail -L --retry 5 --retry-delay 5 -o {{.AgentWorkingDir}}\\build\\qt_temp\\Python38-win-x86.7z http://master.qt.io/development_releases/prebuilt/python/Python38-win-x86.7z"
118        maxTimeInSeconds: 3600
119        maxTimeBetweenOutput: 360
120        userMessageOnFailure: "Failed to download python package, check logs."
121      - type: ExecuteCommand
122        command: "C:\\Utils\\sevenzip\\7z.exe x -y {{.AgentWorkingDir}}\\build\\qt_temp\\Python38-win-x86.7z -o{{.AgentWorkingDir}}\\build\\qt_temp\\python"
123        maxTimeInSeconds: 3600
124        maxTimeBetweenOutput: 360
125        userMessageOnFailure: "Failed to extract python package, check logs."
126      - type: ExecuteCommand
127        command: "python -u {{.AgentWorkingDir}}\\qt-creator\\qt-creator\\scripts\\build.py --build-type {{.Env.QTC_BUILD_TYPE}} --src {{.AgentWorkingDir}}\\qt-creator\\qt-creator --build {{.AgentWorkingDir}}\\qt-creator\\qt-creator_build --python-path {{.AgentWorkingDir}}\\buid\\qt_temp\\python --no-qtcreator --no-zip"
128        maxTimeInSeconds: 36000
129        maxTimeBetweenOutput: 3600
130        userMessageOnFailure: "Failed to run build.py, check logs."
131    enable_if:
132      condition: and
133      conditions:
134        - condition: property
135          property: target.compiler
136          in_values: [MSVC2013, MSVC2015, MSVC2017, MSVC2019]
137        - condition: property
138          property: target.arch
139          equals_value: X86
140
141  - type: SignPackage
142    directory: "{{.AgentWorkingDir}}/qt-creator/qt-creator_build/install/"
143    maxTimeInSeconds: 1200
144    maxTimeBetweenOutput: 1200
145    enable_if:
146      condition: property
147      property: host.os
148      equals_value: Windows
149
150  - type: UploadArtifact
151    archiveDirectory: "{{.AgentWorkingDir}}/qt-creator/qt-creator_build/install/"
152    transferType: UploadModuleBuildArtifact
153    maxTimeInSeconds: 1800
154    maxTimeBetweenOutput: 1800
155
156