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:
@@ -124,6 +124,10 @@ param(
|
||||
|
||||
[string] $BuildCommand = '',
|
||||
|
||||
# Skip artifact packaging and collection in every child job.
|
||||
# Set this for burn-in and smoke runs that use delay-only build commands.
|
||||
[switch] $SkipArtifact,
|
||||
|
||||
[ValidateRange(1, 10)]
|
||||
[int] $Parallelism = 4,
|
||||
|
||||
@@ -211,6 +215,9 @@ for ($r = 1; $r -le $Rounds; $r++) {
|
||||
if ($BuildCommand -ne '') {
|
||||
$argList.Add('-BuildCommand'); $argList.Add($BuildCommand)
|
||||
}
|
||||
if ($SkipArtifact) {
|
||||
$argList.Add('-SkipArtifact')
|
||||
}
|
||||
|
||||
$argArray = $argList.ToArray()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user