Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions eng/pipelines/register-build-jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,18 @@ parameters:
performanceRepoAlias: self
buildType: []
mauiFramework: ''
# repoName is forwarded into each register-build-job invocation so the
# buildInfo.json marker lands under builds/{repoName}/buildArtifacts/...,
# matching the layout written by upload-build-artifacts-job.yml. Defaults
# to 'runtime' for back-compat with the existing dotnet/runtime perf-build
# pipeline; callers from other tenants (e.g. dotnet/aspnetcore) pass
# repoName explicitly.
repoName: 'runtime'

jobs:
- ${{ each type in parameters.buildType }}:
- template: /eng/pipelines/templates/register-build-job.yml@${{ parameters.performanceRepoAlias }}
parameters:
buildType: ${{ type }}
buildId: $(Build.BuildId)
repoName: ${{ parameters.repoName }}
8 changes: 7 additions & 1 deletion eng/pipelines/templates/register-build-job.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
parameters:
buildType: ''
buildId: ''
# repoName is forwarded into the BCS blob path
# (builds/{repoName}/buildArtifacts/...). Defaults to 'runtime' for
# back-compat with the existing dotnet/runtime perf-build pipeline;
# callers from other tenants (e.g. dotnet/aspnetcore) pass repoName
# explicitly.
repoName: 'runtime'

jobs:
- job: RegisterBuild_${{ parameters.buildType }}
Expand All @@ -14,4 +20,4 @@ jobs:
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
az storage blob upload --auth-mode login --account-name pvscmdupload --container-name '$web' --data '{"buildId":"${{ parameters.buildId }}"}' --name "builds/runtime/buildArtifacts/${{ variables['Build.SourceVersion'] }}/${{ parameters.buildType }}/buildInfo.json" --overwrite true
az storage blob upload --auth-mode login --account-name pvscmdupload --container-name '$web' --data '{"buildId":"${{ parameters.buildId }}"}' --name "builds/${{ parameters.repoName }}/buildArtifacts/${{ variables['Build.SourceVersion'] }}/${{ parameters.buildType }}/buildInfo.json" --overwrite true
27 changes: 25 additions & 2 deletions eng/pipelines/templates/upload-build-artifacts-job.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,42 @@ parameters:
buildType: ''
dependencyJobName: ''
artifacts: []
# repoName controls the {repoName} segment of the BCS blob path:
# builds/{repoName}/buildArtifacts/{sha}/{buildType}/{file}
# Defaults to 'runtime' for back-compat with the existing runtime perf-build pipeline.
# Callers building a different repo (e.g. dotnet/aspnetcore) pass repoName explicitly
# so that the upload lands at a tenant-specific path the indexer/crank then read.
repoName: 'runtime'
# Optional pool. When poolName is omitted the upload job inherits the pipeline
# default (the historical runtime perf-build behavior). Callers that extend the
# 1ES.Official template (e.g. aspnetcore perf-build) must specify a pool because
# 1ES.Official requires every job to declare one; for those callers pass:
# poolName: $(DncEngInternalBuildPool)
# poolImage: 1es-ubuntu-2204
# poolOs: linux
poolName: ''
poolImage: ''
poolOs: ''

jobs:
- ${{ each artifact in parameters.artifacts }}:
- job: UploadBuildArtifact_${{ artifact.artifactName }}
displayName: 'Upload Build Artifact ${{ artifact.artifactName }}\'
Comment thread
LoopedBard3 marked this conversation as resolved.
Outdated
condition: eq(stageDependencies.Build.${{ parameters.dependencyJobName }}.result, 'Succeeded')
${{ if parameters.poolName }}:
pool:
name: ${{ parameters.poolName }}
${{ if parameters.poolImage }}:
image: ${{ parameters.poolImage }}
${{ if parameters.poolOs }}:
os: ${{ parameters.poolOs }}
Comment thread
LoopedBard3 marked this conversation as resolved.
Outdated
steps:
- checkout: none
- download: current
displayName: Download Build Artifact ${{ artifact.artifactName }}
artifact: ${{ artifact.artifactName }}
- ${{ each fileName in artifact.files }}:
- script: echo "pvscmdupload/\$web/builds/runtime/buildArtifacts/${{ variables['Build.SourceVersion'] }}/${{ parameters.buildType }}/${{ fileName }}"
- script: echo "pvscmdupload/\$web/builds/${{ parameters.repoName }}/buildArtifacts/${{ variables['Build.SourceVersion'] }}/${{ parameters.buildType }}/${{ fileName }}"
displayName: 'Artifact upload path'
- task: AzureCLI@2
displayName: 'Upload ${{ fileName }} file'
Expand All @@ -23,4 +46,4 @@ jobs:
scriptType: 'pscore'
scriptLocation: 'inlineScript'
inlineScript: |
az storage blob upload --auth-mode login --account-name pvscmdupload --container-name '$web' --file "$(Pipeline.Workspace)/${{ artifact.artifactName }}/${{ fileName }}" --name "builds/runtime/buildArtifacts/${{ variables['Build.SourceVersion'] }}/${{ parameters.buildType }}/${{ fileName }}" --overwrite true
az storage blob upload --auth-mode login --account-name pvscmdupload --container-name '$web' --file "$(Pipeline.Workspace)/${{ artifact.artifactName }}/${{ fileName }}" --name "builds/${{ parameters.repoName }}/buildArtifacts/${{ variables['Build.SourceVersion'] }}/${{ parameters.buildType }}/${{ fileName }}" --overwrite true
Loading
Loading