diff --git a/NuGet.Config b/NuGet.Config index 14f021ca5764..49d84addb1c8 100644 --- a/NuGet.Config +++ b/NuGet.Config @@ -34,6 +34,8 @@ + + diff --git a/tools/VersionController/Models/ModuleHelper.cs b/tools/VersionController/Models/ModuleHelper.cs index 63afca8d1045..3309d4c850f4 100644 --- a/tools/VersionController/Models/ModuleHelper.cs +++ b/tools/VersionController/Models/ModuleHelper.cs @@ -14,11 +14,27 @@ internal class ModuleHelper /// internal static string GetLatestVersionFromPSGallery(string moduleName, ReleaseType releaseType = ReleaseType.STS) { - string version = null; - string findModuleScript = releaseType == ReleaseType.STS ? $"Find-Module {moduleName} -Repository PSGallery -AllVersions" : "Find-Module Az -Repository PSGallery -AllVersions"; - string filterRequiredReleaseTypeScript = releaseType == ReleaseType.STS ? "" : "| Where-Object {([System.Version]($_.Version)).Major%2 -eq 0}"; - string sortModuleScript = "| Sort-Object {[System.Version]$_.Version} -Descending"; + string findModuleScript; + + if (!string.IsNullOrEmpty(System.Environment.GetEnvironmentVariable("DEFAULT_PS_REPOSITORY_URL"))) + { + string repository = System.Environment.GetEnvironmentVariable("DEFAULT_PS_REPOSITORY_NAME"); + findModuleScript = @" +$AccessTokenSecureString = $env:SYSTEM_ACCESS_TOKEN | ConvertTo-SecureString -AsPlainText -Force; +$credentialsObject = [pscredential]::new('ONEBRANCH_TOKEN', $AccessTokenSecureString); +"; + findModuleScript += releaseType == ReleaseType.STS + ? $"Find-PSResource -Name {moduleName} -Repository {repository} -Version * -Credential $credentialsObject" + : $"Find-PSResource -Name Az -Repository {repository} -Version * -Credential $credentialsObject"; + } + else + { + string repository = "PSGallery"; + findModuleScript = releaseType == ReleaseType.STS ? $"Find-PSResource -Name {moduleName} -Repository {repository} -Version *" : $"Find-PSResource -Name Az -Repository {repository} -Version *"; + } + string filterRequiredReleaseTypeScript = releaseType == ReleaseType.STS ? "" : "| Where-Object {$_.Version.Major % 2 -eq 0}"; + string sortModuleScript = "| Sort-Object {$_.Version} -Descending"; string getLastModuleVersionScript = releaseType == ReleaseType.STS ? $"({findModuleScript}{filterRequiredReleaseTypeScript}{sortModuleScript})[0].Version" : $"(({findModuleScript}{filterRequiredReleaseTypeScript}{sortModuleScript})[0].Dependencies | Where-Object {{$_.Name -eq '{moduleName}'}})[1]";