diff --git a/.gitignore b/.gitignore index b5dc09c716..3597befb53 100644 --- a/.gitignore +++ b/.gitignore @@ -198,6 +198,10 @@ PublishScripts/ **/[Pp]ackages/* !**/[Pp]ackages/.gitkeep +# Most of the output folder can be ignored. +**/[Oo]utput/* +!**/[Oo]utput/.gitkeep + # NuGet v3's project.json files produces more ignorable files *.nuget.props *.nuget.targets diff --git a/build.proj b/build.proj index a74d173e0d..f7ab4112e3 100644 --- a/build.proj +++ b/build.proj @@ -484,10 +484,12 @@ - + + + diff --git a/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml b/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml index 6e51adeeb6..46c5c61492 100644 --- a/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml +++ b/eng/pipelines/common/templates/steps/generate-nuget-package-step.yml @@ -12,7 +12,7 @@ parameters: - name: outputDirectory type: string - default: '$(Build.SourcesDirectory)/packages' + default: '$(Build.SourcesDirectory)/output' # The C# build configuration (e.g. Debug or Release) to use when building the NuGet package. - name: buildConfiguration diff --git a/eng/pipelines/onebranch/jobs/build-akv-official-job.yml b/eng/pipelines/onebranch/jobs/build-akv-official-job.yml index 51d8d85964..8c75295f0d 100644 --- a/eng/pipelines/onebranch/jobs/build-akv-official-job.yml +++ b/eng/pipelines/onebranch/jobs/build-akv-official-job.yml @@ -101,15 +101,22 @@ jobs: $jsonParams | ConvertFrom-Json | Format-List displayName: 'Output Job Parameters' - # Download SqlClient (MDS) and Logging packages from previous stages into - # packages/ so that they're available via the local NuGet feed when restoring. - # AKV Provider depends on both SqlClient and Extensions.Logging. + # Download SqlClient (MDS), Abstractions, and Logging packages from previous + # stages into packages/ so that they're available via the local NuGet feed + # when restoring. AKV Provider depends on SqlClient, which transitively + # requires Extensions.Abstractions and Extensions.Logging. - task: DownloadPipelineArtifact@2 displayName: Download SqlClient Package inputs: artifactName: $(sqlClientArtifactsName) targetPath: $(Build.SourcesDirectory)/packages + - task: DownloadPipelineArtifact@2 + displayName: Download Abstractions Package + inputs: + artifactName: $(abstractionsArtifactsName) + targetPath: $(Build.SourcesDirectory)/packages + - task: DownloadPipelineArtifact@2 displayName: Download Logging Package inputs: diff --git a/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml b/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml index 5255f5338c..3eaf5657b6 100644 --- a/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml +++ b/eng/pipelines/onebranch/jobs/publish-nuget-package-job.yml @@ -64,7 +64,7 @@ jobs: variables: - name: ob_outputDirectory - value: $(Build.SourcesDirectory)/packages + value: $(Build.SourcesDirectory)/output - name: artifactPath value: $(Pipeline.Workspace)/${{ parameters.artifactName }} diff --git a/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml b/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml index 7d0d04c079..1f1fee00c4 100644 --- a/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml +++ b/eng/pipelines/onebranch/steps/compound-build-csproj-step.yml @@ -48,6 +48,3 @@ steps: - script: tree /a /f $(BUILD_OUTPUT) displayName: List Build Output Tree - - - script: tree /a /f $(PACK_OUTPUT) - displayName: List Pack Output Tree diff --git a/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml b/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml index 5198b405e3..db9b9a8237 100644 --- a/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml +++ b/eng/pipelines/onebranch/steps/compound-pack-csproj-step.yml @@ -35,6 +35,7 @@ steps: msbuildArguments: >- -t:${{ parameters.packTarget }} -p:ReferenceType=Package + -p:PackagesDir=$(PACK_OUTPUT)/ ${{ parameters.versionProperties }} - script: tree /a /f $(PACK_OUTPUT) diff --git a/eng/pipelines/onebranch/variables/common-variables.yml b/eng/pipelines/onebranch/variables/common-variables.yml index 9e022af31c..af60a6ea51 100644 --- a/eng/pipelines/onebranch/variables/common-variables.yml +++ b/eng/pipelines/onebranch/variables/common-variables.yml @@ -41,10 +41,11 @@ variables: - name: BUILD_OUTPUT value: $(REPO_ROOT)/artifacts - # THis is where our C# projects place their NuGet package outputs (see Directory.Build.props - # ). + # This is where our C# projects place their NuGet package outputs. This is intentionally + # separate from packages/ (where downloaded pipeline artifacts go) so that ESRP signing and + # OneBranch artifact publishing only operate on packages built by the current job. - name: PACK_OUTPUT - value: $(REPO_ROOT)/packages + value: $(REPO_ROOT)/output # C# assembly versions must be in the format: Major.Minor.Build.Revision, but # $(Build.BuildNumber) has the format XXX.YY. Additionally, each version part diff --git a/output/.gitkeep b/output/.gitkeep new file mode 100644 index 0000000000..3da8f2b5b0 --- /dev/null +++ b/output/.gitkeep @@ -0,0 +1 @@ +# This directory must exist for OneBranch pipelines that set ob_outputDirectory to output/.