From f2b31806c074eed4e025c594f09fd8f46dc2351a Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Thu, 26 Mar 2026 22:48:12 +0000 Subject: [PATCH 1/5] Add extra macros parameter to PackageBuild.yml --- .pipelines/templates/PackageBuild.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/.pipelines/templates/PackageBuild.yml b/.pipelines/templates/PackageBuild.yml index 4d6059d8006..86cf90f2a6f 100644 --- a/.pipelines/templates/PackageBuild.yml +++ b/.pipelines/templates/PackageBuild.yml @@ -23,6 +23,10 @@ parameters: default: "" displayName: "Daily build ID" + - name: extraMacrosFiles + type: object + default: [] + - name: extraPackageRepos type: string default: "" @@ -239,6 +243,11 @@ steps: daily_build_update_manifests_arg="DAILY_BUILD_ID_UPDATE_MANIFESTS=n" fi + extra_macros_files="${{ join(' ', parameters.extraMacrosFiles) }}" + if [[ -n "$extra_macros_files" ]]; then + extra_macros_files_arg="EXTRA_MACROS_FILES=$extra_macros_files" + fi + sudo make -C "${{ parameters.buildRepoRoot }}/toolkit" build-packages -j$(nproc) \ CONCURRENT_PACKAGE_BUILDS=${{ parameters.concurrentPackageBuilds }} \ CONFIG_FILE="" \ @@ -253,6 +262,7 @@ steps: $allow_toolchain_rebuilds_arg \ $check_build_retries_arg \ $daily_build_id_arg \ + $extra_macros_files_arg \ $daily_build_update_manifests_arg \ $delta_fetch_arg \ $max_cascading_rebuilds_arg \ From f3af8f9079799b877ad08c780f359bc56aad1119 Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Fri, 27 Mar 2026 15:38:53 +0000 Subject: [PATCH 2/5] Add params to publish version-release macros. --- .pipelines/templates/PackageBuild.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.pipelines/templates/PackageBuild.yml b/.pipelines/templates/PackageBuild.yml index 86cf90f2a6f..a34538cf567 100644 --- a/.pipelines/templates/PackageBuild.yml +++ b/.pipelines/templates/PackageBuild.yml @@ -106,6 +106,10 @@ parameters: type: string default: "LOGS" + - name: outputArtifactsMacrosSubfolder + type: string + default: "MACROS" + - name: outputArtifactsPackagesSubfolder type: string default: "ARTIFACTS" @@ -118,6 +122,10 @@ parameters: type: string default: "" + - name: outputReleseVersionsMacrosFileName + type: string + default: "" + - name: outputRPMsCacheTarballName type: string default: "" @@ -306,6 +314,13 @@ steps: cp "${{ parameters.buildRepoRoot }}"/out/srpms.tar.gz "$published_artifacts_dir/${{ parameters.outputSRPMsTarballName }}" displayName: "Copy SRPMs for publishing" + - ${{ if parameters.outputReleseVersionsMacrosFileName }}: + - bash: | + published_macros_dir="${{ parameters.outputArtifactsFolder }}/${{ parameters.outputArtifactsMacrosSubfolder }}" + mkdir -p "$published_macros_dir" + cp "${{ parameters.buildRepoRoot }}/build/pkg_artifacts/macros.releaseversions" "$published_macros_dir/${{ parameters.outputReleseVersionsMacrosFileName }}" + displayName: "Copy release versions macros for publishing" + - ${{ if parameters.publishLogs }}: - bash: | published_logs_dir="${{ parameters.outputArtifactsFolder }}/${{ parameters.outputArtifactsLogsSubfolder }}" From 019d7a48cd69c7147293d9d836968f951047bbbc Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Fri, 27 Mar 2026 19:28:01 +0000 Subject: [PATCH 3/5] Changing behaviour to accept file names instead of paths. --- .pipelines/templates/PackageBuild.yml | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/.pipelines/templates/PackageBuild.yml b/.pipelines/templates/PackageBuild.yml index a34538cf567..00823de5120 100644 --- a/.pipelines/templates/PackageBuild.yml +++ b/.pipelines/templates/PackageBuild.yml @@ -26,6 +26,9 @@ parameters: - name: extraMacrosFiles type: object default: [] + # Sample: + # - macros.versions + # - macros.custom - name: extraPackageRepos type: string @@ -179,7 +182,7 @@ steps: - script: | toolchain_archive="$(find "${{ parameters.inputArtifactsFolder }}" -name "${{ parameters.customToolchainTarballName }}" -print -quit)" if [[ ! -f "$toolchain_archive" ]]; then - echo "ERROR: toolchain archive not found!" >&2 + echo "##[error]Toolchain archive not found!" >&2 exit 1 fi echo "##vso[task.setvariable variable=toolchainArchive]$toolchain_archive" @@ -191,7 +194,7 @@ steps: - script: | rpms_archive="$(find "${{ parameters.inputArtifactsFolder }}" -name "${{ inputCacheRPMsTarball }}" -print -quit)" if [[ ! -f "$rpms_archive" ]]; then - echo "ERROR: cache RPMs archive '${{ inputCacheRPMsTarball }}' not found!" >&2 + echo "##[error]Cache RPMs archive '${{ inputCacheRPMsTarball }}' not found!" >&2 exit 1 fi @@ -251,8 +254,17 @@ steps: daily_build_update_manifests_arg="DAILY_BUILD_ID_UPDATE_MANIFESTS=n" fi - extra_macros_files="${{ join(' ', parameters.extraMacrosFiles) }}" - if [[ -n "$extra_macros_files" ]]; then + extra_macros_file_names="${{ join(' ', parameters.extraMacrosFiles) }}" + if [[ -n "$extra_macros_file_names" ]]; then + extra_macros_files="" + for macros_file_name in $extra_macros_file_names; do + macros_file="$(find "${{ parameters.inputArtifactsFolder }}" -name "$macros_file_name" -print -quit)" + if [[ ! -f "$macros_file" ]]; then + echo "##[error]Extra macros file '$macros_file_name' not found!" >&2 + exit 1 + fi + extra_macros_files="$extra_macros_files $macros_file" + done extra_macros_files_arg="EXTRA_MACROS_FILES=$extra_macros_files" fi From 43e388e53e33183e83c9a8b41994a50fc3a6523d Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Fri, 27 Mar 2026 20:29:45 +0000 Subject: [PATCH 4/5] Fix typo. --- .pipelines/templates/PackageBuild.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pipelines/templates/PackageBuild.yml b/.pipelines/templates/PackageBuild.yml index 00823de5120..c3645535aad 100644 --- a/.pipelines/templates/PackageBuild.yml +++ b/.pipelines/templates/PackageBuild.yml @@ -125,7 +125,7 @@ parameters: type: string default: "" - - name: outputReleseVersionsMacrosFileName + - name: outputReleaseVersionsMacrosFileName type: string default: "" @@ -326,11 +326,11 @@ steps: cp "${{ parameters.buildRepoRoot }}"/out/srpms.tar.gz "$published_artifacts_dir/${{ parameters.outputSRPMsTarballName }}" displayName: "Copy SRPMs for publishing" - - ${{ if parameters.outputReleseVersionsMacrosFileName }}: + - ${{ if parameters.outputReleaseVersionsMacrosFileName }}: - bash: | published_macros_dir="${{ parameters.outputArtifactsFolder }}/${{ parameters.outputArtifactsMacrosSubfolder }}" mkdir -p "$published_macros_dir" - cp "${{ parameters.buildRepoRoot }}/build/pkg_artifacts/macros.releaseversions" "$published_macros_dir/${{ parameters.outputReleseVersionsMacrosFileName }}" + cp "${{ parameters.buildRepoRoot }}/build/pkg_artifacts/macros.releaseversions" "$published_macros_dir/${{ parameters.outputReleaseVersionsMacrosFileName }}" displayName: "Copy release versions macros for publishing" - ${{ if parameters.publishLogs }}: From b44520c3012f80fdc521b4ecb1f995f27ea7a38a Mon Sep 17 00:00:00 2001 From: Pawel Winogrodzki Date: Sat, 28 Mar 2026 03:53:29 +0000 Subject: [PATCH 5/5] Fixing passing of the args. --- .pipelines/templates/PackageBuild.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pipelines/templates/PackageBuild.yml b/.pipelines/templates/PackageBuild.yml index c3645535aad..48a84f80612 100644 --- a/.pipelines/templates/PackageBuild.yml +++ b/.pipelines/templates/PackageBuild.yml @@ -256,16 +256,16 @@ steps: extra_macros_file_names="${{ join(' ', parameters.extraMacrosFiles) }}" if [[ -n "$extra_macros_file_names" ]]; then - extra_macros_files="" + extra_macros_files=() for macros_file_name in $extra_macros_file_names; do macros_file="$(find "${{ parameters.inputArtifactsFolder }}" -name "$macros_file_name" -print -quit)" if [[ ! -f "$macros_file" ]]; then echo "##[error]Extra macros file '$macros_file_name' not found!" >&2 exit 1 fi - extra_macros_files="$extra_macros_files $macros_file" + extra_macros_files+=("$macros_file") done - extra_macros_files_arg="EXTRA_MACROS_FILES=$extra_macros_files" + extra_macros_files_arg="EXTRA_MACROS_FILES='${extra_macros_files[*]}'" fi sudo make -C "${{ parameters.buildRepoRoot }}/toolkit" build-packages -j$(nproc) \