Commit 348c9c5
authored
AzLocal.UpdateManagement v0.8.6: Step.3 cycle-calendar enrichment + 6 v0.8.5 pipeline regression fixes (#75)
* AzLocal.UpdateManagement v0.8.6: Step.3 cycle-calendar enrichment + 6 v0.8.5 pipeline regression fixes + 11 regression-guard tests
NEW (Step.3 cycle calendar)
- Get-AzLocalApplyUpdatesScheduleCycleCalendar: opt-in -CronFiringsByDate (per-day UTC CRON firing times) and -WindowMatchByRingAndDate (per-ring window-coverage >=95% indicator).
- Export-AzLocalApplyUpdatesScheduleAudit auto-wires both via Read-AzLocalApplyUpdatesYamlCrons + ConvertFrom-AzLocalUpdateWindow. Pure render-time contract preserved.
FIX (v0.8.5 thin-YAML port regressions)
- Step.0 Export-AzLocalAuthValidationReport: @() wrap on unary-comma Invoke-AzResourceGraphQuery collapsed cluster count to 1 - switched to direct assignment + variable-level @() coerce.
- Step.3 Test-AzLocalApplyUpdatesScheduleCoverage: array-level .MatchingCrons enumeration crashed under strict mode on empty $segmentStatuses - guarded with Count check.
- Step.4 Get-AzLocalFleetConnectivityStatus: single-cluster RG crashed because if-as-expression silently unwrapped @() to scalar - now $matchedList -> $matched = @($matchedList) at variable level.
- Step.6 Get-AzLocalClusterUpdateReadiness: $cluster.NotFound strict-mode error - 3 builder paths missing the key, all now set NotFound=$false.
- Step.9 Export-AzLocalFleetHealthStatusReport: @() wrap on both Get-AzLocalFleetHealthFailures and Get-AzLocalFleetHealthOverview collapsed row sets - switched to direct assignment.
- Step.2 Set-AzLocalClusterUpdateRingTag: Format-Table without | Out-Host leaked formatter wrapper objects into -PassThru pipeline (Total clusters processed = 44 vs 20 on a 20-row CSV). Added | Out-Host + defence-in-depth ClusterName -is [string] filter in Set-AzLocalClusterUpdateRingTagFromCsv.
- Step.2 per-cluster Message now names the changed tags ("Tags updated: UpdateExcluded: 'False' -> 'True'") instead of always "UpdateRing tag updated successfully".
- Step.2 summary table split into three independent collapsible buckets (Tag Updates Applied / Skipped or Failed / No Tag Updates).
- Node.js 20 deprecation: bumped actions/upload-artifact@v4 -> @v6 in Step.0 GHA YAML (other steps already on v6).
TESTS (11 new regression-guard It blocks across 7 Describe blocks)
- @() wrap on unary-comma return helpers (Invoke-AzResourceGraphQuery, Get-AzLocalFleetHealth{Failures,Overview}, Read-AzLocalApplyUpdatesYamlCrons).
- Step.3 .MatchingCrons strict-mode crash; Step.4 $matched if/else { @() } branch; Step.6 NotFound key on every $clustersToProcess builder; Step.0 $clusterRows variable-level @() coerce; Step.2 Format-Table | Out-Host.
- GitHub Actions Node.js 20 deprecation (artifact action versions across every bundled GHA YAML).
- 12 new cycle-calendar It blocks for backwards compat / both-params header / (+N) suffix / 95% boundary / case-insensitivity / -ClusterRingCounts coexistence.
DRIFT
- 20 bundled Step.{0..9}.yml templates bump GENERATED_AGAINST_MODULE_VERSION 0.8.5 -> 0.8.6.
- Pester $expectedVersion bumped to 0.8.6.
- Same 55 public exports; no parameter changes on existing cmdlets.
* v0.8.6: trim ReleaseNotes under 10000-char PSGallery limit (9087/10000)
CI Pester 'Should have ReleaseNotes within the PSGallery character limit' caught this: previous block measured 10087 chars (over by 87). Collapsed the 7 verbose 'NEW Pester regression guards' sub-bullets into a single dense line listing the guard topics. Functionally identical disclosure; no source / test / behaviour changes.1 parent 629c501 commit 348c9c5
35 files changed
Lines changed: 1169 additions & 103 deletions
File tree
- AzLocal.UpdateManagement
- Automation-Pipeline-Examples
- azure-devops
- github-actions
- Public
- Tests
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
62 | | - | |
| 62 | + | |
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
45 | | - | |
| 45 | + | |
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
48 | | - | |
| 48 | + | |
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
89 | | - | |
| 89 | + | |
90 | 90 | | |
91 | 91 | | |
92 | 92 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
109 | 109 | | |
110 | 110 | | |
111 | 111 | | |
112 | | - | |
| 112 | + | |
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
72 | | - | |
| 72 | + | |
73 | 73 | | |
74 | 74 | | |
75 | 75 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
118 | 118 | | |
119 | 119 | | |
120 | 120 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
83 | 83 | | |
84 | 84 | | |
85 | 85 | | |
86 | | - | |
| 86 | + | |
87 | 87 | | |
88 | 88 | | |
89 | 89 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
95 | | - | |
| 95 | + | |
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
104 | 104 | | |
105 | 105 | | |
106 | 106 | | |
107 | | - | |
| 107 | + | |
108 | 108 | | |
109 | 109 | | |
110 | 110 | | |
| |||
0 commit comments