@@ -13,32 +13,23 @@ steps:
1313
1414 - pwsh : |
1515 $folder = "${{parameters.ServiceDirectory}}"
16- if ($folder -eq "*") { $folder = "" }
16+ if ($folder -eq "*" -or $folder -eq "auto" ) { $folder = "" }
1717 echo "##vso[task.setvariable variable=folder]$folder"
1818 displayName: "Set folder variable for readme links"
1919
20+ # we are not passing service directory, so we only ever set dev build to true
2021 - template : /eng/common/pipelines/templates/steps/daily-dev-build-variable.yml
21- parameters :
22- ServiceDirectory : ${{ parameters.ServiceDirectory }}
2322
2423 - script : |
2524 npm install ./eng/tools/versioning
26- node eng/tools/versioning/set-dev.js --build-id "$(Build.BuildNumber)" --repo-root "$(Build.SourcesDirectory)" --service "$(folder)"
25+ node eng/tools/versioning/set-dev.js --build-id "$(Build.BuildNumber)" --repo-root "$(Build.SourcesDirectory)"
2726 node common/scripts/install-run-rush.js update
2827 condition: and(succeeded(),eq(variables['SetDevVersion'],'true'))
2928 displayName: "Update package versions for dev build"
3029
31- - task : Powershell@2
32- inputs :
33- filePath : $(Build.SourcesDirectory)/eng/common/scripts/Save-Package-Properties.ps1
34- arguments : >
35- -ServiceDirectory ${{parameters.ServiceDirectory}}
36- -OutDirectory $(Build.ArtifactStagingDirectory)/PackageInfo
37- -AddDevVersion
38- pwsh : true
39- workingDirectory : $(Pipeline.Workspace)
40- displayName : Update package properties with dev version
41- condition : and(succeeded(),eq(variables['SetDevVersion'],'true'))
30+ - template : /eng/common/pipelines/templates/steps/save-package-properties.yml
31+ parameters :
32+ ServiceDirectory : ${{parameters.ServiceDirectory}}
4233
4334 - script : |
4435 node common/scripts/install-run-rush.js install
4738
4839 - template : /eng/pipelines/templates/steps/set-artifact-packages.yml
4940 parameters :
41+ PackageInfo : $(Build.ArtifactStagingDirectory)/PackageInfo
5042 Artifacts : ${{ parameters.Artifacts }}
43+
5144 - ${{ if and(eq(variables['System.TeamProject'], 'internal'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }} :
5245 - task : AzureCLI@2
5346 inputs :
@@ -60,26 +53,24 @@ steps:
6053 sasToken=$(az storage container generate-sas --account-name azuresdkartifacts --name azure-sdk-for-js-rush-cache --permissions dlrw --auth-mode login --as-user --expiry $expiry --https-only -o tsv)
6154 echo "##vso[task.setvariable variable=rushBuildCacheCred;issecret=true;]$sasToken"
6255
63- # Option "-p max" ensures parallelism is set to the number of cores on all platforms, which improves build times.
64- # The default on Windows is "cores - 1" (microsoft/rushstack#436).
65- - script : |
66- node eng/tools/rush-runner.js build "${{parameters.ServiceDirectory}}" -packages "$(ArtifactPackageNames)" --verbose -p max
56+ - pwsh : |
57+ node eng/tools/rush-runner.js build $(ChangedServices) -packages "$(ArtifactPackageNames)" --verbose -p max
6758 displayName: "Build libraries"
6859 env:
6960 ${{ if and(eq(variables['System.TeamProject'], 'internal'), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI')) }}:
7061 RUSH_BUILD_CACHE_CREDENTIAL: $(rushBuildCacheCred)
7162 RUSH_BUILD_CACHE_WRITE_ALLOWED: 1
7263
7364 - script : |
74- node eng/tools/rush-runner.js build:samples "${{parameters.ServiceDirectory}} " -packages "$(ArtifactPackageNames)" --verbose
75- displayName: "Build samples"
65+ node eng/tools/rush-runner.js build:samples "$(ChangedServices) " -packages "$(ArtifactPackageNames)" --verbose
66+ displayName: "Build samples for PR "
7667
7768 - pwsh : |
7869 eng/tools/check-api-warning.ps1
7970 displayName: "Check api extractor output changes"
8071
8172 - script : |
82- node eng/tools/rush-runner.js pack "${{parameters.ServiceDirectory}} " -packages "$(ArtifactPackageNames)" --verbose
73+ node eng/tools/rush-runner.js pack "$(ChangedServices) " -packages "$(ArtifactPackageNames)" --verbose
8374 displayName: "Pack libraries"
8475
8576 # Unlink node_modules folders to significantly improve performance of subsequent tasks
@@ -93,18 +84,22 @@ steps:
9384 ServiceDirectory : ${{parameters.ServiceDirectory}}
9485
9586 - pwsh : |
96- $artifacts = '${{ convertToJson(parameters.Artifacts) }}' | ConvertFrom-Json
87+ $artifacts = Get-ChildItem -Recurse -Force "$(Build.ArtifactStagingDirectory)/PackageInfo/*.json" `
88+ | ForEach-Object { $_.Name.Replace(".json", "") }
89+
9790 foreach ($artifact in $artifacts)
9891 {
99- $artifactName = $artifact.name
100- Write-Host "Copying $artifactName artifacts to $(Build.ArtifactStagingDirectory)/$artifactName"
101- New-Item -Type Directory -Name $artifactName -Path $(Build.ArtifactStagingDirectory) > $null
102- Copy-Item sdk/${{parameters.ServiceDirectory}}/**/$artifactName-[0-9]*.[0-9]*.[0-9]*.tgz $(Build.ArtifactStagingDirectory)/$artifactName
103- Copy-Item sdk/${{parameters.ServiceDirectory}}/**/browser/$artifactName-[0-9]*.[0-9]*.[0-9]*.zip $(Build.ArtifactStagingDirectory)/$artifactName
104- if ($${{ parameters.IncludeRelease }} -eq $true -and $artifact.skipPublishDocMs -ne $true)
92+ $artifactDetails = Get-Content -Raw $(Build.ArtifactStagingDirectory)/PackageInfo/$artifact.json | ConvertFrom-Json
93+
94+ Write-Host "Copying $artifact artifacts to $(Build.ArtifactStagingDirectory)/$artifact"
95+ New-Item -Type Directory -Force -Name $artifact -Path $(Build.ArtifactStagingDirectory) > $null
96+ Copy-Item sdk/$($artifactDetails.Service)/**/$artifact-[0-9]*.[0-9]*.[0-9]*.tgz $(Build.ArtifactStagingDirectory)/$artifact
97+ Copy-Item sdk/$($artifactDetails.Service)/**/browser/$artifact-[0-9]*.[0-9]*.[0-9]*.zip $(Build.ArtifactStagingDirectory)/$artifact
98+
99+ if ($${{ parameters.IncludeRelease }} -eq $true -and $artifactDetails.ArtifactDetails.skipPublishDocMs -ne $true)
105100 {
106- New-Item -Type Directory -Name documentation -Path $(Build.ArtifactStagingDirectory)/$artifactName > $null
107- Copy-Item $(Build.SourcesDirectory)/docGen/$artifactName .zip $(Build.ArtifactStagingDirectory)/$artifactName /documentation
101+ New-Item -Type Directory -Force - Name documentation -Path $(Build.ArtifactStagingDirectory)/$artifact > $null
102+ Copy-Item $(Build.SourcesDirectory)/docGen/$artifact .zip $(Build.ArtifactStagingDirectory)/$artifact /documentation
108103 }
109104 }
110105 displayName: 'Copy Packages'
0 commit comments