From 40039867028cefc5c2de4dd19b96d0f043538627 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 05:51:34 +0300 Subject: [PATCH 1/9] switch layout --- builders/build-node.ps1 | 4 +++- builders/nix-node-builder.psm1 | 4 ++++ builders/node-builder.psm1 | 7 ++++++- builders/win-node-builder.psm1 | 4 ++++ helpers/nix-helpers.psm1 | 16 ++++++++++++++++ helpers/win-helpers.psm1 | 16 ++++++++++++++++ 6 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 helpers/nix-helpers.psm1 create mode 100644 helpers/win-helpers.psm1 diff --git a/builders/build-node.ps1 b/builders/build-node.ps1 index 88d0f43..7213bd7 100644 --- a/builders/build-node.ps1 +++ b/builders/build-node.ps1 @@ -23,9 +23,11 @@ param( [Parameter (Mandatory=$true)][Version] $Version, [Parameter (Mandatory=$true)][string] $Platform, [string] $Architecture = "x64" - ) +Import-Module (Join-Path $PSScriptRoot "../helpers" | Join-Path -ChildPath "nix-helpers.psm1") -DisableNameChecking +Import-Module (Join-Path $PSScriptRoot "../helpers" | Join-Path -ChildPath "win-helpers.psm1") -DisableNameChecking + function Get-NodeBuilder { <# .SYNOPSIS diff --git a/builders/nix-node-builder.psm1 b/builders/nix-node-builder.psm1 index f6da58b..9184469 100644 --- a/builders/nix-node-builder.psm1 +++ b/builders/nix-node-builder.psm1 @@ -40,6 +40,10 @@ class NixNodeBuilder : NodeBuilder { return "${base}/v$($this.Version)/node-v$($this.Version)-$($this.Platform)-$($this.Architecture).tar.gz" } + [void] UnpackBinaries($archivePath) { + Unpack-TarArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation + } + [void] CreateInstallationScript() { <# .SYNOPSIS diff --git a/builders/node-builder.psm1 b/builders/node-builder.psm1 index 88b2f15..5563598 100644 --- a/builders/node-builder.psm1 +++ b/builders/node-builder.psm1 @@ -15,6 +15,9 @@ class NodeBuilder { .PARAMETER Architecture The architecture with which Node.js should be built. + .PARAMETER TempFolderLocation + The location of temporary files that will be used during Node.js package generation. Using system BUILD_STAGINGDIRECTORY variable value. + .PARAMETER ArtifactLocation The location of generated Node.js artifact. Using system environment BUILD_BINARIESDIRECTORY variable value. @@ -26,6 +29,7 @@ class NodeBuilder { [version] $Version [string] $Platform [string] $Architecture + [string] $TempFolderLocation [string] $ArtifactLocation [string] $InstallationTemplatesLocation @@ -35,6 +39,7 @@ class NodeBuilder { $this.Architecture = $architecture $this.ArtifactLocation = $env:BUILD_BINARIESDIRECTORY + $this.TempFolderLocation = $env:BUILD_STAGINGDIRECTORY $this.InstallationTemplatesLocation = Join-Path -Path $PSScriptRoot -ChildPath "../installers" } @@ -56,7 +61,7 @@ class NodeBuilder { $binariesUri = $this.GetBinariesUri() $targetFilename = [IO.Path]::GetFileName($binariesUri) - $targetFilepath = Join-Path -Path $this.ArtifactLocation -ChildPath $targetFilename + $targetFilepath = Join-Path -Path $this.TempFolderLocation -ChildPath $targetFilename Write-Debug "Download binaries from $binariesUri to $targetFilepath" try { diff --git a/builders/win-node-builder.psm1 b/builders/win-node-builder.psm1 index 2a30752..1329196 100644 --- a/builders/win-node-builder.psm1 +++ b/builders/win-node-builder.psm1 @@ -40,6 +40,10 @@ class WinNodeBuilder : NodeBuilder { return "${base}/v$($this.Version)/node-v$($this.Version)-win-$($this.Architecture).7z" } + [void] UnpackBinaries($archivePath) { + Unpack-7ZipArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation + } + [void] CreateInstallationScript() { <# .SYNOPSIS diff --git a/helpers/nix-helpers.psm1 b/helpers/nix-helpers.psm1 new file mode 100644 index 0000000..de7a57a --- /dev/null +++ b/helpers/nix-helpers.psm1 @@ -0,0 +1,16 @@ +<# +.SYNOPSIS +Unpack *.tar file +#> +function Unpack-TarArchive { + param( + [Parameter(Mandatory=$true)] + [String]$ArchivePath, + [Parameter(Mandatory=$true)] + [String]$OutputDirectory + ) + + Write-Debug "Unpack $ArchivePath to $OutputDirectory" + tar -C $OutputDirectory -xzf $ArchivePath + +} \ No newline at end of file diff --git a/helpers/win-helpers.psm1 b/helpers/win-helpers.psm1 new file mode 100644 index 0000000..099566f --- /dev/null +++ b/helpers/win-helpers.psm1 @@ -0,0 +1,16 @@ +<# +.SYNOPSIS +Unpack *.7z file +#> +function Unpack-7ZipArchive { + param( + [Parameter(Mandatory=$true)] + [String]$ArchivePath, + [Parameter(Mandatory=$true)] + [String]$OutputDirectory + ) + + Write-Debug "Unpack $ArchivePath to $OutputDirectory" + 7z x $ArchivePath -o$OutputDirectory + +} \ No newline at end of file -- 2.49.1 From 9f20e91066346ed9fda632b3764c5e0e2ed95fd2 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 05:54:09 +0300 Subject: [PATCH 2/9] Update node-builder.psm1 --- builders/node-builder.psm1 | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/builders/node-builder.psm1 b/builders/node-builder.psm1 index 5563598..fe5d0fa 100644 --- a/builders/node-builder.psm1 +++ b/builders/node-builder.psm1 @@ -83,11 +83,9 @@ class NodeBuilder { Write-Host "Download Node.js $($this.Version) [$($this.Architecture)] executable..." $binariesArchivePath = $this.Download() - $binariesArchiveDirectory = [IO.Path]::GetDirectoryName($binariesArchivePath) - $toolArchivePath = Join-Path $binariesArchiveDirectory $this.OutputArtifactName - Write-Host "Rename '$binariesArchivePath' to '$toolArchivePath'" - Rename-Item -Path $binariesArchivePath -NewName $toolArchivePath + Write-Host "Unpack binaries to target directory" + $this.UnpackBinaries($binariesArchivePath) Write-Host "Create installation script..." $this.CreateInstallationScript() -- 2.49.1 From 55879a19a1382a9a3677e78a813ef1586c172e7f Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:01:40 +0300 Subject: [PATCH 3/9] w --- builders/nix-node-builder.psm1 | 4 ++-- builders/node-builder.psm1 | 2 +- builders/win-node-builder.psm1 | 4 ++-- helpers/nix-helpers.psm1 | 6 +++--- helpers/win-helpers.psm1 | 6 +++--- installers/nix-setup-template.sh | 10 +++------- 6 files changed, 14 insertions(+), 18 deletions(-) diff --git a/builders/nix-node-builder.psm1 b/builders/nix-node-builder.psm1 index 9184469..c56cd80 100644 --- a/builders/nix-node-builder.psm1 +++ b/builders/nix-node-builder.psm1 @@ -40,8 +40,8 @@ class NixNodeBuilder : NodeBuilder { return "${base}/v$($this.Version)/node-v$($this.Version)-$($this.Platform)-$($this.Architecture).tar.gz" } - [void] UnpackBinaries($archivePath) { - Unpack-TarArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation + [void] ExtractBinaries($archivePath) { + Extract-TarArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation } [void] CreateInstallationScript() { diff --git a/builders/node-builder.psm1 b/builders/node-builder.psm1 index fe5d0fa..21ef28f 100644 --- a/builders/node-builder.psm1 +++ b/builders/node-builder.psm1 @@ -85,7 +85,7 @@ class NodeBuilder { $binariesArchivePath = $this.Download() Write-Host "Unpack binaries to target directory" - $this.UnpackBinaries($binariesArchivePath) + $this.ExtractBinaries($binariesArchivePath) Write-Host "Create installation script..." $this.CreateInstallationScript() diff --git a/builders/win-node-builder.psm1 b/builders/win-node-builder.psm1 index 1329196..2b7eed9 100644 --- a/builders/win-node-builder.psm1 +++ b/builders/win-node-builder.psm1 @@ -40,8 +40,8 @@ class WinNodeBuilder : NodeBuilder { return "${base}/v$($this.Version)/node-v$($this.Version)-win-$($this.Architecture).7z" } - [void] UnpackBinaries($archivePath) { - Unpack-7ZipArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation + [void] ExtractBinaries($archivePath) { + Extract-7ZipArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation } [void] CreateInstallationScript() { diff --git a/helpers/nix-helpers.psm1 b/helpers/nix-helpers.psm1 index de7a57a..6c5bdb4 100644 --- a/helpers/nix-helpers.psm1 +++ b/helpers/nix-helpers.psm1 @@ -2,7 +2,7 @@ .SYNOPSIS Unpack *.tar file #> -function Unpack-TarArchive { +function Extract-TarArchive { param( [Parameter(Mandatory=$true)] [String]$ArchivePath, @@ -10,7 +10,7 @@ function Unpack-TarArchive { [String]$OutputDirectory ) - Write-Debug "Unpack $ArchivePath to $OutputDirectory" - tar -C $OutputDirectory -xzf $ArchivePath + Write-Debug "Extract $ArchivePath to $OutputDirectory" + tar -C $OutputDirectory -xzf $ArchivePath --strip 1 } \ No newline at end of file diff --git a/helpers/win-helpers.psm1 b/helpers/win-helpers.psm1 index 099566f..816b0c0 100644 --- a/helpers/win-helpers.psm1 +++ b/helpers/win-helpers.psm1 @@ -2,7 +2,7 @@ .SYNOPSIS Unpack *.7z file #> -function Unpack-7ZipArchive { +function Extract-7ZipArchive { param( [Parameter(Mandatory=$true)] [String]$ArchivePath, @@ -10,7 +10,7 @@ function Unpack-7ZipArchive { [String]$OutputDirectory ) - Write-Debug "Unpack $ArchivePath to $OutputDirectory" + Write-Debug "Extract $ArchivePath to $OutputDirectory" + Write-Host "7z x $ArchivePath -o$OutputDirectory" 7z x $ArchivePath -o$OutputDirectory - } \ No newline at end of file diff --git a/installers/nix-setup-template.sh b/installers/nix-setup-template.sh index 00b813a..288c279 100644 --- a/installers/nix-setup-template.sh +++ b/installers/nix-setup-template.sh @@ -18,14 +18,10 @@ echo "Create Node.js $NODE_VERSION folder" mkdir -p $NODE_TOOLCACHE_VERSION_ARCH_PATH echo "Copy Node.js binaries to hostedtoolcache folder" -cp ./tool.tar.gz $NODE_TOOLCACHE_VERSION_ARCH_PATH +cp ./* $NODE_TOOLCACHE_VERSION_ARCH_PATH +rm $NODE_TOOLCACHE_VERSION_ARCH_PATH/setup.sh -cd $NODE_TOOLCACHE_VERSION_ARCH_PATH - -echo "Unzip Node.js to $NODE_TOOLCACHE_VERSION_ARCH_PATH" -tar -zxf tool.tar.gz -C . --strip 1 -echo "Node.js unzipped successfully" -rm tool.tar.gz +ls $NODE_TOOLCACHE_VERSION_ARCH_PATH echo "Create complete file" touch $NODE_TOOLCACHE_VERSION_PATH/x64.complete -- 2.49.1 From 239f2186025c5acefd907de22e797ddb62689df2 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:07:49 +0300 Subject: [PATCH 4/9] www --- helpers/win-helpers.psm1 | 3 +-- installers/nix-setup-template.sh | 2 +- installers/win-setup-template.ps1 | 13 ++++--------- 3 files changed, 6 insertions(+), 12 deletions(-) diff --git a/helpers/win-helpers.psm1 b/helpers/win-helpers.psm1 index 816b0c0..38f797b 100644 --- a/helpers/win-helpers.psm1 +++ b/helpers/win-helpers.psm1 @@ -11,6 +11,5 @@ function Extract-7ZipArchive { ) Write-Debug "Extract $ArchivePath to $OutputDirectory" - Write-Host "7z x $ArchivePath -o$OutputDirectory" - 7z x $ArchivePath -o$OutputDirectory + 7z.exe x $ArchivePath -o"$OutputDirectory" -y } \ No newline at end of file diff --git a/installers/nix-setup-template.sh b/installers/nix-setup-template.sh index 288c279..dd6bc70 100644 --- a/installers/nix-setup-template.sh +++ b/installers/nix-setup-template.sh @@ -18,7 +18,7 @@ echo "Create Node.js $NODE_VERSION folder" mkdir -p $NODE_TOOLCACHE_VERSION_ARCH_PATH echo "Copy Node.js binaries to hostedtoolcache folder" -cp ./* $NODE_TOOLCACHE_VERSION_ARCH_PATH +cp -R ./* $NODE_TOOLCACHE_VERSION_ARCH_PATH rm $NODE_TOOLCACHE_VERSION_ARCH_PATH/setup.sh ls $NODE_TOOLCACHE_VERSION_ARCH_PATH diff --git a/installers/win-setup-template.ps1 b/installers/win-setup-template.ps1 index e9bb2fd..2011d8c 100644 --- a/installers/win-setup-template.ps1 +++ b/installers/win-setup-template.ps1 @@ -1,4 +1,5 @@ $ErrorActionPreference = "Stop" + [Version]$Version = "{{__VERSION__}}" [string]$Architecture = "{{__ARCHITECTURE__}}" $ArchiveFileName = "tool.7z" @@ -29,16 +30,10 @@ if (-not (Test-Path $NodeToolcacheArchitecturePath)) { } Write-Host "Copy Node.js binaries to hostedtoolcache folder" -Copy-Item -Path $ArchiveFileName -Destination $NodeToolcacheArchitecturePath +Copy-Item -Path * -Destination $NodeToolcacheArchitecturePath +Remove-Item $NodeToolcacheArchitecturePath\setup.ps1 -Force | Out-Null -Set-Location $NodeToolcacheArchitecturePath -Write-Host "Unzip Node.js to $NodeToolcacheArchitecturePath" -7z.exe x $ArchiveFileName -o"$TempDirectory" -y | Out-Null -$NodeInnerFolder = Get-Item -Path "$TempDirectory\node-*" | Select-Object -First 1 -Get-ChildItem $NodeInnerFolder | Move-Item -Destination $NodeToolcacheArchitecturePath -Write-Host "Node.js unzipped successfully" - -Remove-Item $ArchiveFileName -Force | Out-Null +Get-ChildItem $NodeToolcacheArchitecturePath Write-Host "Create complete file" New-Item -ItemType File -Path $NodeToolcacheVersionPath -Name "$Architecture.complete" | Out-Null \ No newline at end of file -- 2.49.1 From 98434732e658107c12cdff71e194a54763fed986 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:08:51 +0300 Subject: [PATCH 5/9] Update win-helpers.psm1 --- helpers/win-helpers.psm1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helpers/win-helpers.psm1 b/helpers/win-helpers.psm1 index 38f797b..d796a65 100644 --- a/helpers/win-helpers.psm1 +++ b/helpers/win-helpers.psm1 @@ -11,5 +11,5 @@ function Extract-7ZipArchive { ) Write-Debug "Extract $ArchivePath to $OutputDirectory" - 7z.exe x $ArchivePath -o"$OutputDirectory" -y + 7z x $ArchivePath -o"$OutputDirectory" -y } \ No newline at end of file -- 2.49.1 From e9394810d0ffe2a54284c4cf473cc85cd6f399af Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:18:43 +0300 Subject: [PATCH 6/9] w --- azure-pipelines/templates/build-job.yml | 2 +- azure-pipelines/templates/test-job.yml | 6 +++--- builders/win-node-builder.psm1 | 6 +++++- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/azure-pipelines/templates/build-job.yml b/azure-pipelines/templates/build-job.yml index db625d8..021fb51 100644 --- a/azure-pipelines/templates/build-job.yml +++ b/azure-pipelines/templates/build-job.yml @@ -1,5 +1,5 @@ jobs: -- job: Build_Node +- job: Build_Node_$(Platform) timeoutInMinutes: 90 pool: name: Azure Pipelines diff --git a/azure-pipelines/templates/test-job.yml b/azure-pipelines/templates/test-job.yml index 02d2cee..708e3f4 100644 --- a/azure-pipelines/templates/test-job.yml +++ b/azure-pipelines/templates/test-job.yml @@ -1,5 +1,5 @@ jobs: -- job: +- job: Test_Node_$(Platform) pool: name: Azure Pipelines vmImage: $(VmImage) @@ -21,11 +21,11 @@ jobs: inputs: source: 'current' artifact: 'node-$(Version)-$(Platform)-$(Architecture)' - path: $(Build.BinariesDirectory) + path: $(Build.ArtifactStagingDirectory) - task: ExtractFiles@1 inputs: - archiveFilePatterns: '$(Build.BinariesDirectory)/node-$(Version)-$(Platform)-$(Architecture).zip' + archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/node-$(Version)-$(Platform)-$(Architecture).zip' destinationFolder: $(Build.BinariesDirectory) cleanDestinationFolder: false diff --git a/builders/win-node-builder.psm1 b/builders/win-node-builder.psm1 index 2b7eed9..827e953 100644 --- a/builders/win-node-builder.psm1 +++ b/builders/win-node-builder.psm1 @@ -41,7 +41,11 @@ class WinNodeBuilder : NodeBuilder { } [void] ExtractBinaries($archivePath) { - Extract-7ZipArchive -ArchivePath $archivePath -OutputDirectory $this.ArtifactLocation + $extractTargetDirectory = Join-Path $this.TempFolderLocation "tempExtract" + Extract-7ZipArchive -ArchivePath $archivePath -OutputDirectory $extractTargetDirectory + $nodeOutputPath = Get-Item $extractTargetDirectory\* | Select-Object -First 1 -ExpandProperty Fullname + Write-Host $nodeOutputPath + Move-Item -Path $nodeOutputPath\* -Destination $this.ArtifactLocation } [void] CreateInstallationScript() { -- 2.49.1 From 377c646d6116d11942a197a25767c1f47304ab5f Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:19:26 +0300 Subject: [PATCH 7/9] w --- azure-pipelines/templates/build-job.yml | 2 +- azure-pipelines/templates/test-job.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines/templates/build-job.yml b/azure-pipelines/templates/build-job.yml index 021fb51..db625d8 100644 --- a/azure-pipelines/templates/build-job.yml +++ b/azure-pipelines/templates/build-job.yml @@ -1,5 +1,5 @@ jobs: -- job: Build_Node_$(Platform) +- job: Build_Node timeoutInMinutes: 90 pool: name: Azure Pipelines diff --git a/azure-pipelines/templates/test-job.yml b/azure-pipelines/templates/test-job.yml index 708e3f4..4c88389 100644 --- a/azure-pipelines/templates/test-job.yml +++ b/azure-pipelines/templates/test-job.yml @@ -1,5 +1,5 @@ jobs: -- job: Test_Node_$(Platform) +- job: Test_Node pool: name: Azure Pipelines vmImage: $(VmImage) -- 2.49.1 From 8dae118225f3daee7a33d2b9163ad8ebb49479e8 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:22:47 +0300 Subject: [PATCH 8/9] w --- helpers/win-helpers.psm1 | 2 +- installers/nix-setup-template.sh | 2 -- installers/win-setup-template.ps1 | 2 -- 3 files changed, 1 insertion(+), 5 deletions(-) diff --git a/helpers/win-helpers.psm1 b/helpers/win-helpers.psm1 index d796a65..9520fbd 100644 --- a/helpers/win-helpers.psm1 +++ b/helpers/win-helpers.psm1 @@ -11,5 +11,5 @@ function Extract-7ZipArchive { ) Write-Debug "Extract $ArchivePath to $OutputDirectory" - 7z x $ArchivePath -o"$OutputDirectory" -y + 7z x $ArchivePath -o"$OutputDirectory" -y | Out-Null } \ No newline at end of file diff --git a/installers/nix-setup-template.sh b/installers/nix-setup-template.sh index dd6bc70..c24ff22 100644 --- a/installers/nix-setup-template.sh +++ b/installers/nix-setup-template.sh @@ -21,7 +21,5 @@ echo "Copy Node.js binaries to hostedtoolcache folder" cp -R ./* $NODE_TOOLCACHE_VERSION_ARCH_PATH rm $NODE_TOOLCACHE_VERSION_ARCH_PATH/setup.sh -ls $NODE_TOOLCACHE_VERSION_ARCH_PATH - echo "Create complete file" touch $NODE_TOOLCACHE_VERSION_PATH/x64.complete diff --git a/installers/win-setup-template.ps1 b/installers/win-setup-template.ps1 index 2011d8c..7bd3034 100644 --- a/installers/win-setup-template.ps1 +++ b/installers/win-setup-template.ps1 @@ -33,7 +33,5 @@ Write-Host "Copy Node.js binaries to hostedtoolcache folder" Copy-Item -Path * -Destination $NodeToolcacheArchitecturePath Remove-Item $NodeToolcacheArchitecturePath\setup.ps1 -Force | Out-Null -Get-ChildItem $NodeToolcacheArchitecturePath - Write-Host "Create complete file" New-Item -ItemType File -Path $NodeToolcacheVersionPath -Name "$Architecture.complete" | Out-Null \ No newline at end of file -- 2.49.1 From 8153747322408a381b21eae25b57bf9671e16a83 Mon Sep 17 00:00:00 2001 From: Maxim Lobanov Date: Thu, 23 Apr 2020 06:28:12 +0300 Subject: [PATCH 9/9] add new test --- builders/win-node-builder.psm1 | 1 - tests/Node.Tests.ps1 | 5 +++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/builders/win-node-builder.psm1 b/builders/win-node-builder.psm1 index 827e953..0246b26 100644 --- a/builders/win-node-builder.psm1 +++ b/builders/win-node-builder.psm1 @@ -44,7 +44,6 @@ class WinNodeBuilder : NodeBuilder { $extractTargetDirectory = Join-Path $this.TempFolderLocation "tempExtract" Extract-7ZipArchive -ArchivePath $archivePath -OutputDirectory $extractTargetDirectory $nodeOutputPath = Get-Item $extractTargetDirectory\* | Select-Object -First 1 -ExpandProperty Fullname - Write-Host $nodeOutputPath Move-Item -Path $nodeOutputPath\* -Destination $this.ArtifactLocation } diff --git a/tests/Node.Tests.ps1 b/tests/Node.Tests.ps1 index 47f3927..8ff9cb7 100644 --- a/tests/Node.Tests.ps1 +++ b/tests/Node.Tests.ps1 @@ -20,6 +20,11 @@ Describe "Node.js" { "node --version" | Should -ReturnZeroExitCode } + It "version is correct" { + $versionOutput = Invoke-Expression "node --version" + $versionOutput | Should -Match $Version + } + It "is used from tool-cache" { $nodePath = (Get-Command "node").Path $nodePath | Should -Not -BeNullOrEmpty -- 2.49.1