diff --git a/.github/workflows/admu-ci.yml b/.github/workflows/admu-ci.yml index f51ef8b4c..671fcf154 100644 --- a/.github/workflows/admu-ci.yml +++ b/.github/workflows/admu-ci.yml @@ -101,7 +101,12 @@ jobs: if ($($PSDependencies[$RequiredModule].RequiredVersion) -eq "latest"){ Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository))-Force } else { - Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository)) -RequiredVersion:($($PSDependencies[$RequiredModule].RequiredVersion)) -AllowPrerelease -Force + if($RequiredModule -eq 'PowerShellGet'){ + Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository)) -RequiredVersion:($($PSDependencies[$RequiredModule].RequiredVersion)) -AllowPrerelease -Force -allowClobber + } else { + Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository)) -RequiredVersion:($($PSDependencies[$RequiredModule].RequiredVersion)) -AllowPrerelease -Force + } + } } } diff --git a/.github/workflows/admu-release.yml b/.github/workflows/admu-release.yml index 413d85e2e..eb2efee54 100644 --- a/.github/workflows/admu-release.yml +++ b/.github/workflows/admu-release.yml @@ -91,7 +91,11 @@ jobs: if ($($PSDependencies[$RequiredModule].RequiredVersion) -eq "latest"){ Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository))-Force } else { - Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository)) -RequiredVersion:($($PSDependencies[$RequiredModule].RequiredVersion)) -AllowPrerelease -Force + if($RequiredModule -eq 'PowerShellGet'){ + Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository)) -RequiredVersion:($($PSDependencies[$RequiredModule].RequiredVersion)) -AllowPrerelease -Force -allowClobber + } else { + Install-Module -Name $RequiredModule -Repository:($($PSDependencies[$RequiredModule].Repository)) -RequiredVersion:($($PSDependencies[$RequiredModule].RequiredVersion)) -AllowPrerelease -Force + } } } } diff --git a/Deploy/Build-Module.ps1 b/Deploy/Build-Module.ps1 index 1cb09124a..c4aeaa244 100644 --- a/Deploy/Build-Module.ps1 +++ b/Deploy/Build-Module.ps1 @@ -17,7 +17,7 @@ If (-not $ADMUGetConfig) { ########################################################################### # Region Checking PowerShell Gallery module version Write-Host ('[status]Check PowerShell Gallery for module version info') -$PSGalleryInfo = Get-PSGalleryModuleVersion -Name:($ModuleName) -ReleaseType:($RELEASETYPE) #('Major', 'Minor', 'Patch') + # Check to see if ManualModuleVersion parameter is set to true if ($ManualModuleVersion) { $ManualModuleVersionRetrieval = Get-Content -Path:($FilePath_psd1) | Where-Object { $_ -like '*ModuleVersion*' } @@ -25,6 +25,7 @@ if ($ManualModuleVersion) { $SemeanticVersion = Select-String -InputObject $ManualModuleVersionRetrieval -pattern ($SemanticRegex) $ModuleVersion = $SemeanticVersion[0].Matches.Value } else { + $PSGalleryInfo = Get-PSGalleryModuleVersion -Name:($ModuleName) -ReleaseType:($RELEASETYPE) #('Major', 'Minor', 'Patch') $ModuleVersion = $PSGalleryInfo.NextVersion } Write-Host ('[status]PowerShell Gallery Name:' + $PSGalleryInfo.Name + ';CurrentVersion:' + $PSGalleryInfo.Version + '; NextVersion:' + $ModuleVersion ) diff --git a/Deploy/Build.ps1 b/Deploy/Build.ps1 index dcf1b514b..79ffc263a 100644 --- a/Deploy/Build.ps1 +++ b/Deploy/Build.ps1 @@ -12,7 +12,12 @@ param ( . $PSScriptRoot\Get-Config.ps1 -ModuleVersionType:($ModuleVersionType) -ModuleName:($ModuleName) # Run Build-Module -. $PSScriptRoot\Build-Module.ps1 -ModuleVersionType:($ModuleVersionType) -ModuleName:($ModuleName) +if ($ModuleVersionType -eq 'manual') { + . $PSScriptRoot\Build-Module.ps1 -ModuleVersionType:($ModuleVersionType) -ModuleName:($ModuleName) -ManualModuleVersion:($true) +} else { + . $PSScriptRoot\Build-Module.ps1 -ModuleVersionType:($ModuleVersionType) -ModuleName:($ModuleName) +} + # Run Build-Exe . $PSScriptRoot\Build-Exe.ps1 # Run Build-HelpFiles diff --git a/ModuleChangelog.md b/ModuleChangelog.md index 3d52fa082..ad909047e 100644 --- a/ModuleChangelog.md +++ b/ModuleChangelog.md @@ -1,6 +1,6 @@ -## 2.6.0 +## 2.6.1 -Release Date: February 7, 2024 +Release Date: February 12, 2024 #### RELEASE NOTES @@ -12,6 +12,7 @@ Release Date: February 7, 2024 ``` * Addressed a issue where a registry hive fails to load, the tool will now halt migration instead of continuing * Fixed a bug with Module Changelog version test where release type number is not properly outputted +* Fix issue with manual release type not included in tests ``` ## 2.5.1 diff --git a/jumpcloud-ADMU/JumpCloud.ADMU.psd1 b/jumpcloud-ADMU/JumpCloud.ADMU.psd1 index c2c53bf7b..f10477773 100644 --- a/jumpcloud-ADMU/JumpCloud.ADMU.psd1 +++ b/jumpcloud-ADMU/JumpCloud.ADMU.psd1 @@ -12,7 +12,7 @@ RootModule = 'JumpCloud.ADMU.psm1' # Version number of this module. - ModuleVersion = '2.6.0' + ModuleVersion = '2.6.1' # Supported PSEditions # CompatiblePSEditions = @() diff --git a/jumpcloud-ADMU/Powershell/Form.ps1 b/jumpcloud-ADMU/Powershell/Form.ps1 index 818c233e1..b11b643d7 100644 --- a/jumpcloud-ADMU/Powershell/Form.ps1 +++ b/jumpcloud-ADMU/Powershell/Form.ps1 @@ -143,7 +143,7 @@ function show-mtpSelection { diff --git a/jumpcloud-ADMU/Powershell/Start-Migration.ps1 b/jumpcloud-ADMU/Powershell/Start-Migration.ps1 index 32880ebb1..f9185dcdd 100644 --- a/jumpcloud-ADMU/Powershell/Start-Migration.ps1 +++ b/jumpcloud-ADMU/Powershell/Start-Migration.ps1 @@ -1120,11 +1120,9 @@ function Test-UsernameOrSID { } } } - #endregion Functions #region Agent Install Helper Functions - Function Restart-ComputerWithDelay { Param( [int]$TimeOut = 10 @@ -1412,7 +1410,7 @@ function Set-ADMUScheduledTask { # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# Get user file type associations +# Get user file type associations/FTA function Get-UserFileTypeAssociation { [CmdletBinding()] param ( @@ -1437,8 +1435,7 @@ function Get-UserFileTypeAssociation { return $manifestList } -# Get user protocol associations - +# Get user protocol associations/PTA function Get-ProtocolTypeAssociation{ [CmdletBinding()] param ( @@ -1487,7 +1484,7 @@ Function Start-Migration { Begin { Write-ToLog -Message:('####################################' + (get-date -format "dd-MMM-yyyy HH:mm") + '####################################') # Start script - $admuVersion = '2.6.0' + $admuVersion = '2.6.1' Write-ToLog -Message:('Running ADMU: ' + 'v' + $admuVersion) Write-ToLog -Message:('Script starting; Log file location: ' + $jcAdmuLogFile) Write-ToLog -Message:('Gathering system & profile information') diff --git a/jumpcloud-ADMU/Powershell/Tests/Build.Tests.ps1 b/jumpcloud-ADMU/Powershell/Tests/Build.Tests.ps1 index 79218b47c..d4f289ea5 100644 --- a/jumpcloud-ADMU/Powershell/Tests/Build.Tests.ps1 +++ b/jumpcloud-ADMU/Powershell/Tests/Build.Tests.ps1 @@ -38,8 +38,15 @@ Describe "Module Validation Tests" { $masterform = (Invoke-WebRequest https://raw.githubusercontent.com/TheJumpCloud/jumpcloud-ADMU/master/jumpcloud-ADMU/Powershell/Form.ps1 -useBasicParsing).tostring() $masterVersion = Select-String -inputobject:($masterform) -Pattern:($VersionRegex) $masterformversion = [version]$masterversion.Matches.value - $branchformversion | Should -BeGreaterThan $masterformversion - $branchformversion.$($env:ModuleVersionType) | Should -Be ($masterformversion.$($env:ModuleVersionType) + 1) + if($env:ModuleVersionType -eq "manual"){ + # Manual Versioning + # Given version should be greater than master + $branchformversion | Should -BeGreaterThan $masterformversion + } else { + $branchformversion | Should -BeGreaterThan $masterformversion + $branchformversion.$($env:ModuleVersionType) | Should -Be ($masterformversion.$($env:ModuleVersionType) + 1) + } + } It 'Start-Migration version' { @@ -50,8 +57,12 @@ Describe "Module Validation Tests" { $masterStartMigration = (Invoke-WebRequest https://raw.githubusercontent.com/TheJumpCloud/jumpcloud-ADMU/master/jumpcloud-ADMU/Powershell/Start-Migration.ps1 -useBasicParsing).tostring() $masterVersion = Select-String -inputobject:($masterStartMigration) -Pattern:($VersionRegex) $masterStartMigrationVersion = [version]$masterVersion.Matches.value - $branchStartMigrationVersion | Should -BeGreaterThan $masterStartMigrationVersion - $branchStartMigrationVersion.$($env:ModuleVersionType) | Should -Be ($masterStartMigrationVersion.$($env:ModuleVersionType) + 1) + if ($env:ModuleVersionType -eq "manual") { + $branchStartMigrationVersion | Should -BeGreaterThan $masterStartMigrationVersion + } else { + $branchStartMigrationVersion | Should -BeGreaterThan $masterStartMigrationVersion + $branchStartMigrationVersion.$($env:ModuleVersionType) | Should -Be ($masterStartMigrationVersion.$($env:ModuleVersionType) + 1) + } } It 'gui_jcadmu.exe version' -skip { @@ -60,8 +71,12 @@ Describe "Module Validation Tests" { $masterVersion = Select-String -inputobject:($masterform) -Pattern:($VersionRegex) $masterformversion = [version]$masterversion.Matches.value $exeversion = [version](Get-Item ("$PSScriptRoot\..\..\exe\gui_jcadmu.exe")).VersionInfo.FileVersion - $exeversion | Should -BeGreaterThan $masterformversion - $exeversion.$($env:ModuleVersionType) | Should -Be ($masterformversion.$($env:ModuleVersionType) + 1) + if ($env:ModuleVersionType -eq "manual") { + $exeversion | Should -BeGreaterThan $masterformversion + } else { + $exeversion | Should -BeGreaterThan $masterformversion + $exeversion.$($env:ModuleVersionType) | Should -Be ($masterformversion.$($env:ModuleVersionType) + 1) + } } } @@ -78,9 +93,12 @@ Describe "Module Validation Tests" { Write-Host "Module Changelog Content: $ModuleChangelogVersionMatch" $ModuleChangelogVersion = $ModuleChangelogVersionMatch.Matches.Value Write-Host "Module Changelog Version: $ModuleChangelogVersion" - # Compare $latestVersion = [version]$lastestModule.version - ([version]$ModuleChangelogVersion).$($env:ModuleVersionType) | Should -Be ($latestVersion.$($env:ModuleVersionType) + 1) + if ($env:ModuleVersionType -eq "manual") { + $ModuleChangelogVersion | Should -BeGreaterThan $latestVersion + } else { + ([version]$ModuleChangelogVersion).$($env:ModuleVersionType) | Should -Be ($latestVersion.$($env:ModuleVersionType) + 1) + } } It 'Module Changelog should not contain placeholder values' {