完成 0.2.0 预发布收口与中文安装器
This commit is contained in:
@@ -258,8 +258,36 @@ Add-Result -Name "Production build and packaging do not depend on internal QA" `
|
||||
-Passed ($releaseIsolationMatches.Count -eq 0) `
|
||||
-Details ($(if ($releaseIsolationMatches.Count -eq 0) { "No internal QA dependency" } else { $releaseIsolationMatches -join "; " }))
|
||||
|
||||
$releaseValidationProblems = New-Object System.Collections.Generic.List[string]
|
||||
$packageValidation = $config.releaseValidation.packageScript
|
||||
$packageScriptPath = Resolve-AbsolutePath -Path ([string]$packageValidation.path) -BasePath $resolvedRoot
|
||||
$packageScriptText = Get-Content -LiteralPath $packageScriptPath -Raw -Encoding UTF8
|
||||
foreach ($rule in $packageValidation.requiredPatterns) {
|
||||
if ($packageScriptText -notmatch ([string]$rule.pattern)) {
|
||||
$releaseValidationProblems.Add("package missing $($rule.name)")
|
||||
}
|
||||
}
|
||||
foreach ($rule in $packageValidation.forbiddenPatterns) {
|
||||
if ($packageScriptText -match ([string]$rule.pattern)) {
|
||||
$releaseValidationProblems.Add("package contains $($rule.name)")
|
||||
}
|
||||
}
|
||||
|
||||
$installerValidation = $config.releaseValidation.installerScript
|
||||
$installerScriptPath = Resolve-AbsolutePath -Path ([string]$installerValidation.path) -BasePath $resolvedRoot
|
||||
$installerScriptText = Get-Content -LiteralPath $installerScriptPath -Raw -Encoding UTF8
|
||||
foreach ($rule in $installerValidation.requiredPatterns) {
|
||||
if ($installerScriptText -notmatch ([string]$rule.pattern)) {
|
||||
$releaseValidationProblems.Add("installer missing $($rule.name)")
|
||||
}
|
||||
}
|
||||
Add-Result -Name "Release packaging and installer contain required safeguards" `
|
||||
-Passed ($releaseValidationProblems.Count -eq 0) `
|
||||
-Details ($(if ($releaseValidationProblems.Count -eq 0) { "Package inputs, QA isolation, startup option, and uninstall cleanup are declared" } else { $releaseValidationProblems -join "; " }))
|
||||
|
||||
$infrastructureProblems = New-Object System.Collections.Generic.List[string]
|
||||
foreach ($scriptFile in Get-ChildItem -LiteralPath (Join-Path $resolvedRoot "internal/qa/scripts") -Filter "*.ps1" -File) {
|
||||
foreach ($relativeScriptPath in $config.releaseValidation.powershellParseFiles) {
|
||||
$scriptFile = Get-Item -LiteralPath (Resolve-AbsolutePath -Path ([string]$relativeScriptPath) -BasePath $resolvedRoot)
|
||||
$tokens = $null
|
||||
$parseErrors = $null
|
||||
[System.Management.Automation.Language.Parser]::ParseFile(
|
||||
|
||||
Reference in New Issue
Block a user