Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update docsms packages #19009

Merged
merged 18 commits into from
Dec 10, 2021
Merged
Show file tree
Hide file tree
Changes from 9 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
2 changes: 1 addition & 1 deletion eng/pipelines/docindex.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ jobs:
inputs:
pwsh: true
filePath: eng/common/scripts/Update-DocsMsPackages.ps1
arguments: -DocRepoLocation $(DocRepoLocation) -ImageId '$(DocValidationImageId)'
arguments: -DocRepoLocation $(DocRepoLocation)
displayName: Update Docs Onboarding for Daily branch

- template: /eng/common/pipelines/templates/steps/git-push-changes.yml
Expand Down
49 changes: 40 additions & 9 deletions eng/scripts/Language-Settings.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -233,7 +233,7 @@ function Get-DocsMsPackageName($packageName, $packageVersion) {
# registry = "<url>";
# ...
# }
function ValidatePackagesForDocs($packages) {
function ValidatePackagesForDocs($packages, $DocValidationImageId) {
# Using GetTempPath because it works on linux and windows
$tempDirectory = Join-Path ([System.IO.Path]::GetTempPath()) ([System.IO.Path]::GetRandomFileName())
New-Item -ItemType Directory -Force -Path $tempDirectory | Out-Null
Expand All @@ -244,7 +244,7 @@ function ValidatePackagesForDocs($packages) {
# Get value for variables outside of the Foreach-Object scope
$scriptRoot = "$using:scriptRoot"
$workingDirectory = "$using:tempDirectory"
return ."$scriptRoot\validate-docs-package.ps1" -Package $_ -DocValidationImageId "$using:ImageId" -WorkingDirectory $workingDirectory
return ."$scriptRoot\validate-docs-package.ps1" -Package $_ -DocValidationImageId "$using:DocValidationImageId" -WorkingDirectory $workingDirectory
}

# Clean up temp folder
Expand All @@ -260,8 +260,7 @@ $PackageExclusions = @{
'@azure/core-asynciterator-polyfill' = 'Docs CI fails https://github.com/Azure/azure-sdk-for-js/issues/16675';
}

function Update-javascript-DocsMsPackages($DocsRepoLocation, $DocsMetadata) {

function Update-javascript-DocsMsPackages($DocsRepoLocation, $DocsMetadata, $DocValidationImageId=$ImageId) {
Write-Host "Excluded packages:"
foreach ($excludedPackage in $PackageExclusions.Keys) {
Write-Host " $excludedPackage - $($PackageExclusions[$excludedPackage])"
Expand All @@ -273,16 +272,18 @@ function Update-javascript-DocsMsPackages($DocsRepoLocation, $DocsMetadata) {
(Join-Path $DocsRepoLocation 'ci-configs/packages-preview.json') `
'preview' `
$FilteredMetadata `
(Join-Path $DocsRepoLocation 'ci-configs/packages-preview.json.log') # Log file for package validation

(Join-Path $DocsRepoLocation 'ci-configs/packages-preview.json.log') `
$DocValidationImageId

sima-zhu marked this conversation as resolved.
Show resolved Hide resolved
UpdateDocsMsPackages `
(Join-Path $DocsRepoLocation 'ci-configs/packages-latest.json') `
'latest' `
$FilteredMetadata `
(Join-Path $DocsRepoLocation 'ci-configs/packages-latest.json.log') # Log file for package validation
(Join-Path $DocsRepoLocation 'ci-configs/packages-latest.json.log') `
$DocValidationImageId
sima-zhu marked this conversation as resolved.
Show resolved Hide resolved
}

function UpdateDocsMsPackages($DocConfigFile, $Mode, $DocsMetadata, $PackageHistoryLogFile) {
function UpdateDocsMsPackages($DocConfigFile, $Mode, $DocsMetadata, $PackageHistoryLogFile, $DocValidationImageId) {
Write-Host "Updating configuration: $DocConfigFile with mode: $Mode"
$packageConfig = Get-Content $DocConfigFile -Raw | ConvertFrom-Json

Expand Down Expand Up @@ -373,7 +374,7 @@ function UpdateDocsMsPackages($DocConfigFile, $Mode, $DocsMetadata, $PackageHist
$outputPackages += @{ name = $packageName }
}

$packageValidation = ValidatePackagesForDocs $outputPackages
$packageValidation = ValidatePackagesForDocs $outputPackages $DocValidationImageId
$validationHash = @{}
foreach ($result in $packageValidation) {
$validationHash[$result.Package.name] = $result
Expand Down Expand Up @@ -468,3 +469,33 @@ function GetExistingPackageVersions ($PackageName, $GroupId = $null)
return $null
}
}

function Validate-javascript-DocMsPackages {
Param(
[Parameter(Mandatory = $true)]
[PSCustomObject]$PackageInfo,
[Parameter(Mandatory = $false)]
[string]$DocValidationImageId
)
$fileLocation = ""
if ($PackageInfo.DevVersion -or $PackageInfo.Version -contains "beta") {
$fileLocation = (Join-Path $DocsRepoLocation 'ci-configs/packages-preview.json')
if ($PackageInfo.DevVersion) {
$PackageInfo.Version = $PackageInfo.DevVersion
}
}
else {
$fileLocation = (Join-Path $DocsRepoLocation 'ci-configs/packages-latest.json')
}

$packageConfig = Get-Content $fileLocation -Raw | ConvertFrom-Json
$outputPackage = $PackageInfo
foreach ($package in $packageConfig.npm_package_sources) {
if ($package.name -eq $PackageInfo.Name) {
$outputPackage = $package
$outputPackage.name = Get-DocsMsPackageName $package.name $PackageInfo.Version
break
}
}
ValidatePackagesForDocs -packages $outputPackage -DocValidationImageId $DocValidationImageId
}
1 change: 1 addition & 0 deletions eng/scripts/validate-docs-package.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ function DockerValidation() {
$commandLine = "$commandLine$folder"
}
$commandLine = "$commandLine $DocValidationImageId 2>&1"
Write-Host $commandLine
$installOutput = Invoke-Expression $commandLine

# The docker exit codes: https://docs.docker.com/engine/reference/run/#exit-status
Expand Down