@@ -23,6 +23,13 @@ parameters:
2323 default : " "
2424 displayName : " Daily build ID"
2525
26+ - name : extraMacrosFiles
27+ type : object
28+ default : []
29+ # Sample:
30+ # - macros.versions
31+ # - macros.custom
32+
2633 - name : extraPackageRepos
2734 type : string
2835 default : " "
@@ -102,6 +109,10 @@ parameters:
102109 type : string
103110 default : " LOGS"
104111
112+ - name : outputArtifactsMacrosSubfolder
113+ type : string
114+ default : " MACROS"
115+
105116 - name : outputArtifactsPackagesSubfolder
106117 type : string
107118 default : " ARTIFACTS"
@@ -114,6 +125,10 @@ parameters:
114125 type : string
115126 default : " "
116127
128+ - name : outputReleaseVersionsMacrosFileName
129+ type : string
130+ default : " "
131+
117132 - name : outputRPMsCacheTarballName
118133 type : string
119134 default : " "
@@ -167,7 +182,7 @@ steps:
167182 - script : |
168183 toolchain_archive="$(find "${{ parameters.inputArtifactsFolder }}" -name "${{ parameters.customToolchainTarballName }}" -print -quit)"
169184 if [[ ! -f "$toolchain_archive" ]]; then
170- echo "ERROR: toolchain archive not found!" >&2
185+ echo "##[error]Toolchain archive not found!" >&2
171186 exit 1
172187 fi
173188 echo "##vso[task.setvariable variable=toolchainArchive]$toolchain_archive"
@@ -179,7 +194,7 @@ steps:
179194 - script : |
180195 rpms_archive="$(find "${{ parameters.inputArtifactsFolder }}" -name "${{ inputCacheRPMsTarball }}" -print -quit)"
181196 if [[ ! -f "$rpms_archive" ]]; then
182- echo "ERROR: cache RPMs archive '${{ inputCacheRPMsTarball }}' not found!" >&2
197+ echo "##[error]Cache RPMs archive '${{ inputCacheRPMsTarball }}' not found!" >&2
183198 exit 1
184199 fi
185200
@@ -239,6 +254,20 @@ steps:
239254 daily_build_update_manifests_arg="DAILY_BUILD_ID_UPDATE_MANIFESTS=n"
240255 fi
241256
257+ extra_macros_file_names="${{ join(' ', parameters.extraMacrosFiles) }}"
258+ if [[ -n "$extra_macros_file_names" ]]; then
259+ extra_macros_files=()
260+ for macros_file_name in $extra_macros_file_names; do
261+ macros_file="$(find "${{ parameters.inputArtifactsFolder }}" -name "$macros_file_name" -print -quit)"
262+ if [[ ! -f "$macros_file" ]]; then
263+ echo "##[error]Extra macros file '$macros_file_name' not found!" >&2
264+ exit 1
265+ fi
266+ extra_macros_files+=("$macros_file")
267+ done
268+ extra_macros_files_arg="EXTRA_MACROS_FILES='${extra_macros_files[*]}'"
269+ fi
270+
242271 sudo make -C "${{ parameters.buildRepoRoot }}/toolkit" build-packages -j$(nproc) \
243272 CONCURRENT_PACKAGE_BUILDS=${{ parameters.concurrentPackageBuilds }} \
244273 CONFIG_FILE="" \
@@ -253,6 +282,7 @@ steps:
253282 $allow_toolchain_rebuilds_arg \
254283 $check_build_retries_arg \
255284 $daily_build_id_arg \
285+ $extra_macros_files_arg \
256286 $daily_build_update_manifests_arg \
257287 $delta_fetch_arg \
258288 $max_cascading_rebuilds_arg \
@@ -296,6 +326,13 @@ steps:
296326 cp "${{ parameters.buildRepoRoot }}"/out/srpms.tar.gz "$published_artifacts_dir/${{ parameters.outputSRPMsTarballName }}"
297327 displayName: "Copy SRPMs for publishing"
298328
329+ - ${{ if parameters.outputReleaseVersionsMacrosFileName }} :
330+ - bash : |
331+ published_macros_dir="${{ parameters.outputArtifactsFolder }}/${{ parameters.outputArtifactsMacrosSubfolder }}"
332+ mkdir -p "$published_macros_dir"
333+ cp "${{ parameters.buildRepoRoot }}/build/pkg_artifacts/macros.releaseversions" "$published_macros_dir/${{ parameters.outputReleaseVersionsMacrosFileName }}"
334+ displayName: "Copy release versions macros for publishing"
335+
299336 - ${{ if parameters.publishLogs }} :
300337 - bash : |
301338 published_logs_dir="${{ parameters.outputArtifactsFolder }}/${{ parameters.outputArtifactsLogsSubfolder }}"
0 commit comments