Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,15 @@ jobs:
throw "Staged modules path not found: $modulesPath"
}

# Ensure required modules are discoverable during Test-ModuleManifest/Publish-Module.
# Save original PSModulePath to restore before install/import verification.
$originalPSModulePath = $env:PSModulePath
$pathSeparator = [System.IO.Path]::PathSeparator
$modulePathEntries = $env:PSModulePath -split [regex]::Escape($pathSeparator)
if ($modulePathEntries -notcontains $modulesPath) {
Comment thread
blindzero marked this conversation as resolved.
$env:PSModulePath = $modulesPath + $pathSeparator + $env:PSModulePath
}

Comment thread
blindzero marked this conversation as resolved.
$repoPath = Join-Path $env:RUNNER_TEMP 'psrepo'
New-Item -ItemType Directory -Path $repoPath -Force | Out-Null

Expand All @@ -302,6 +311,10 @@ jobs:
Write-Host " ✓ Published $moduleName"
}

# Restore original PSModulePath before install/import verification
# to ensure Import-Module resolves the installed package, not the staged build.
$env:PSModulePath = $originalPSModulePath

# Test that IdLE can be installed and imports correctly
Write-Host "`nInstalling IdLE from LocalRepo..."
Install-Module -Name 'IdLE' -Repository 'LocalRepo' -Scope CurrentUser -Force -AllowClobber -ErrorAction Stop
Expand Down Expand Up @@ -375,6 +388,13 @@ jobs:
throw "Staged modules path not found: $modulesPath"
}

# Ensure required modules are discoverable during Test-ModuleManifest/Publish-Module.
$pathSeparator = [System.IO.Path]::PathSeparator
$modulePathEntries = $env:PSModulePath -split [regex]::Escape($pathSeparator)
if ($modulePathEntries -notcontains $modulesPath) {
$env:PSModulePath = $modulesPath + $pathSeparator + $env:PSModulePath
}
Comment thread
blindzero marked this conversation as resolved.

# Load publish order from configuration
$configPath = Join-Path $env:GITHUB_WORKSPACE 'tools/ModulePublishOrder.psd1'
$config = Import-PowerShellDataFile -LiteralPath $configPath
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Core/IdLE.Core.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'IdLE Core engine: domain model, workflow loading/validation, plan builder and execution pipeline.'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

FunctionsToExport = @(
'New-IdleLifecycleRequestObject',
Expand All @@ -26,7 +27,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Provider.AD/IdLE.Provider.AD.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Active Directory (on-prem) provider implementation for IdLE (Windows-only, requires RSAT/ActiveDirectory module).'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

FunctionsToExport = @(
'New-IdleADIdentityProvider'
Expand All @@ -17,7 +18,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Entra Connect directory sync provider for IdLE (remote execution).'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

FunctionsToExport = @(
'New-IdleEntraConnectDirectorySyncProvider'
Expand All @@ -17,7 +18,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Provider.EntraID/IdLE.Provider.EntraID.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Microsoft Entra ID (Azure AD) provider implementation for IdLE using Microsoft Graph API.'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

FunctionsToExport = @(
'New-IdleEntraIDIdentityProvider'
Expand All @@ -17,7 +18,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Exchange Online mailbox provider implementation for IdLE (requires ExchangeOnlineManagement module).'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

FunctionsToExport = @(
'New-IdleExchangeOnlineProvider'
Expand All @@ -17,7 +18,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Provider.Mock/IdLE.Provider.Mock.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Mock provider implementation for IdLE (in-memory, deterministic).'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

FunctionsToExport = @(
'New-IdleMockIdentityProvider'
Expand All @@ -17,7 +18,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Steps.Common/IdLE.Steps.Common.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Common built-in steps for IdLE.'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

RequiredModules = @('IdLE.Core')

Expand All @@ -27,7 +28,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Steps.DirectorySync/IdLE.Steps.DirectorySync.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Generic directory sync steps for IdLE.'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

RequiredModules = @(
'IdLE.Core',
Expand All @@ -23,7 +24,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE.Steps.Mailbox/IdLE.Steps.Mailbox.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'Provider-agnostic mailbox step pack for IdLE.'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'

RequiredModules = @('IdLE.Core', 'IdLE.Steps.Common')

Expand All @@ -22,7 +23,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE/IdLE.Init.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ if ($PSScriptRoot) {
}
} catch {
# Non-fatal: path resolution can fail for invalid entries.
Write-Verbose "Skipping unresolved PSModulePath entry: $p"
Write-Verbose -Message "Skipping unresolved PSModulePath entry: $p"
}
}
}
Expand Down
2 changes: 1 addition & 1 deletion src/IdLE/IdLE.psd1
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
Copyright = '(c) Matthias Fleschuetz. All rights reserved.'
Description = 'IdentityLifecycleEngine (IdLE) meta-module. Imports IdLE.Core and optional packs.'
PowerShellVersion = '7.0'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
Comment thread
blindzero marked this conversation as resolved.

# ScriptsToProcess runs before NestedModules are loaded
# This script bootstraps PSModulePath for repo/zip layouts
Expand Down Expand Up @@ -42,7 +43,6 @@
LicenseUri = 'https://www.apache.org/licenses/LICENSE-2.0'
ProjectUri = 'https://github.com/blindzero/IdentityLifecycleEngine'
ReleaseNotes = 'https://github.com/blindzero/IdentityLifecycleEngine/releases'
HelpInfoUri = 'https://blindzero.github.io/IdentityLifecycleEngine/'
ContactEmail = '13959569+blindzero@users.noreply.github.com'
RepositoryUrl = 'https://github.com/blindzero/IdentityLifecycleEngine'
BugTrackerUrl = 'https://github.com/blindzero/IdentityLifecycleEngine/issues'
Expand Down
Loading