fix(burn-in): add -SkipArtifact switch; restore production fail-on-missing-dist
PROBLEM: Invoke-RemoteBuild.ps1 was creating a placeholder artifact when the build
produced no dist/ directory. In production this hides build defects (build exits 0
but produces nothing = silent failure treated as success).
SOLUTION: Add explicit -SkipArtifact switch to the call chain:
Invoke-RemoteBuild.ps1:
- Add -SkipArtifact switch. When set: skips packaging entirely (no zip created).
- When absent (production default): missing GuestArtifactSource is a hard error
with a clear message pointing to -SkipArtifact as the opt-in for no-output builds.
Invoke-CIJob.ps1:
- Add -SkipArtifact switch. Passes it to Invoke-RemoteBuild.ps1.
- Phase 6 (Get-BuildArtifacts) is entirely skipped when set; logs 'skipped' event.
Test-CapacityBurnIn.ps1:
- Add -SkipArtifact switch. Adds '-SkipArtifact' flag to each child job argList.
Start-BurnInTest.ps1:
- Always passes -SkipArtifact by default (burn-in uses delay commands, no output).
- Add -NoSkipArtifact override switch for runs that do produce real artifacts.
- Remove -NoSkipArtifact escape from wrapper: default burn-in never needs artifacts.
This commit is contained in:
@@ -49,6 +49,7 @@ param(
|
||||
[int] $Rounds = 3,
|
||||
[int] $Parallelism = 4,
|
||||
[string] $BuildCommand = 'ping 127.0.0.1 -n 31 > nul',
|
||||
[switch] $NoSkipArtifact,
|
||||
[int] $RoundTimeoutMinutes = 60
|
||||
)
|
||||
|
||||
@@ -71,6 +72,7 @@ $scriptDir = Split-Path -Parent $MyInvocation.MyCommand.Path
|
||||
-BuildCommand $BuildCommand `
|
||||
-Parallelism $Parallelism `
|
||||
-Rounds $Rounds `
|
||||
-RoundTimeoutMinutes $RoundTimeoutMinutes
|
||||
-RoundTimeoutMinutes $RoundTimeoutMinutes `
|
||||
$(if (-not $NoSkipArtifact) { '-SkipArtifact' })
|
||||
|
||||
exit $LASTEXITCODE
|
||||
|
||||
Reference in New Issue
Block a user