# intended to be used as part of a release process parameters: - name: ArtifactLocation type: string default: 'not-specified' - name: PackageRepository type: string default: 'not-specified' - name: ReleaseSha type: string default: 'not-specified' - name: RepoId type: string default: $(Build.Repository.Name) - name: WorkingDirectory type: string default: '' - name: ScriptDirectory type: string default: eng/common/scripts - name: TargetDocRepoName type: string default: '' - name: TargetDocRepoOwner type: string default: '' - name: PRBranchName type: string default: 'main-rdme' - name: PRLabels type: string default: 'auto-merge' - name: ArtifactName type: string default: '' - name: Language type: string default: '' - name: DocRepoDestinationPath type: string default: '' #usually docs-ref-services/ - name: CIConfigs type: string default: '[]' - name: GHReviewersVariable type: string default: '' - name: GHTeamReviewersVariable type: string default: '' # externally set, as eng-common does not have the identity-resolver. Run as pre-step - name: OnboardingBranch type: string default: '' - name: CloseAfterOpenForTesting type: boolean default: false - name: SkipPackageJson type: object default: false - name: SparseCheckoutPaths type: object default: null steps: - pwsh: | if ($IsWindows) { REG ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem /f /v LongPathsEnabled /t REG_DWORD /d 1 git config --system core.longpaths true } else { Write-Host "This script is not executing on Windows, skipping registry modification." } displayName: Enable Long Paths if Necessary - ${{ if not(parameters.SparseCheckoutPaths) }}: - pwsh: | git clone https://github.com/${{ parameters.TargetDocRepoOwner }}/${{ parameters.TargetDocRepoName }} ${{ parameters.WorkingDirectory }}/repo displayName: Clone Documentation Repository ignoreLASTEXITCODE: false - ${{ if parameters.SparseCheckoutPaths }}: - template: /eng/common/pipelines/templates/steps/sparse-checkout.yml parameters: SkipDefaultCheckout: true Repositories: - Name: ${{ parameters.TargetDocRepoOwner }}/${{ parameters.TargetDocRepoName }} WorkingDirectory: ${{ parameters.WorkingDirectory }}/repo Paths: ${{ parameters.SparseCheckoutPaths }} - template: /eng/common/pipelines/templates/steps/set-default-branch.yml parameters: WorkingDirectory: ${{ parameters.WorkingDirectory }}/repo - task: PowerShell@2 displayName: 'Apply Documentation Updates From Artifact' inputs: targetType: filePath filePath: ${{ parameters.ScriptDirectory }}/update-docs-metadata.ps1 arguments: > -ArtifactLocation ${{ parameters.ArtifactLocation }} -Repository ${{ parameters.PackageRepository }} -ReleaseSHA ${{ parameters.ReleaseSha }} -RepoId ${{ parameters.RepoId }} -WorkDirectory "${{ parameters.WorkingDirectory }}" -DocRepoLocation "${{ parameters.WorkingDirectory }}/repo" -Language "${{parameters.Language}}" -Configs "${{ parameters.CIConfigs }}" pwsh: true env: GH_TOKEN: $(azuresdk-github-pat) - template: /eng/common/pipelines/templates/steps/git-push-changes.yml parameters: BaseRepoBranch: $(DefaultBranch) BaseRepoOwner: ${{ parameters.TargetDocRepoOwner }} CommitMsg: "Update docs metadata and targeting for release of ${{ parameters.ArtifactName }}" TargetRepoName: ${{ parameters.TargetDocRepoName }} TargetRepoOwner: ${{ parameters.TargetDocRepoOwner }} WorkingDirectory: ${{ parameters.WorkingDirectory }}/repo ScriptDirectory: ${{ parameters.WorkingDirectory }}/${{ parameters.ScriptDirectory }}