Skip to content

Commit e82ea5f

Browse files
committed
Fix build output layout and add guard test; release 1.23.3
1 parent 78f822b commit e82ea5f

4 files changed

Lines changed: 28 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@
22

33
If you contributed one of these and there's no credit in the line PR to add it or let me know!
44

5+
## 2026-04-30 - Version 1.23.3
6+
7+
* Fix release packaging layout so `Public`, `Private`, `Classes`, and `Data` remain wrapped as top-level folders in module output.
8+
* Add meta test coverage to guard against output structure regressions in build packaging.
9+
510
## 2026-04-29 - Version 1.23.2
611

712
* Fix `Invoke-HaloBatchProcessor` parallel runspace error where `Invoke-HaloBatchItem` was not recognised; private function is now invoked via `Module.Invoke()` within the imported module scope.

DevOps/Build/build.ps1

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@ function Build {
100100
foreach ($pathToCopy in $pathsToCopy) {
101101
$sourcePath = Join-Path -Path $RepoRoot -ChildPath $pathToCopy
102102
if (Test-Path -Path $sourcePath -PathType Container) {
103-
Copy-Item -Path (Join-Path -Path $sourcePath -ChildPath '*') -Destination $moduleOutputPath -Recurse -Force
103+
# Copy each top-level source folder as a folder to preserve module layout in release output.
104+
Copy-Item -Path $sourcePath -Destination $moduleOutputPath -Recurse -Force
104105
}
105106
}
106107

HaloAPI.psd1

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
RootModule = '.\HaloAPI.psm1'
1313

1414
# Version number of this module.
15-
ModuleVersion = '1.23.2'
15+
ModuleVersion = '1.23.3'
1616

1717
# Supported PSEditions
1818
CompatiblePSEditions = @('Core')
@@ -316,7 +316,7 @@
316316
IconUri = 'https://3c3br937rz386088k2z3qqdi-wpengine.netdna-ssl.com/wp-content/uploads/2020/04/HaloIcon-300x300.png'
317317

318318
# ReleaseNotes of this module
319-
ReleaseNotes = 'https://github.com/homotechsual/HaloAPI/releases/tag/1.22.1'
319+
ReleaseNotes = 'https://github.com/homotechsual/HaloAPI/releases/tag/1.23.3'
320320

321321
# Prerelease string of this module
322322
# Prerelease = 'Beta1'

Tests/HaloAPI.Meta.Tests.ps1

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,23 @@ Describe 'Quality test entrypoint suite parsing' {
8686
It 'splits comma-delimited suite values' {
8787
$Script:QualityTestScriptContent | Should -Match '-split\s+''\\s\*,\\s\*'''
8888
}
89+
}
90+
91+
Describe 'Build output layout' {
92+
BeforeAll {
93+
$Script:BuildScriptPath = Join-Path -Path $ModulePath -ChildPath 'DevOps\Build\build.ps1'
94+
$Script:BuiltModulePath = Join-Path -Path $ModulePath -ChildPath 'Output\HaloAPI'
95+
}
96+
97+
It 'preserves wrapped top-level folders in packaged output' {
98+
{
99+
& $Script:BuildScriptPath -TaskNames @('clean', 'build')
100+
} | Should -Not -Throw
101+
102+
$expectedDirectories = @('Public', 'Private', 'Classes', 'Data')
103+
foreach ($expectedDirectory in $expectedDirectories) {
104+
$expectedPath = Join-Path -Path $Script:BuiltModulePath -ChildPath $expectedDirectory
105+
Test-Path -Path $expectedPath -PathType Container | Should -BeTrue
106+
}
107+
}
89108
}

0 commit comments

Comments
 (0)