mirror of
https://github.com/actions/node-versions.git
synced 2025-09-11 06:28:54 +08:00
Compare commits
4 Commits
test-macos
...
testcases-
Author | SHA1 | Date | |
---|---|---|---|
|
04230b596d | ||
|
4c561dc48e | ||
|
b1128b6a7d | ||
|
4e9fd7825b |
2
.github/workflows/build-node-packages.yml
vendored
2
.github/workflows/build-node-packages.yml
vendored
@@ -23,7 +23,7 @@ on:
|
||||
jobs:
|
||||
node:
|
||||
name: Node
|
||||
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@test-macos-x64-runner
|
||||
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@arm64-testcases
|
||||
with:
|
||||
tool-name: "node"
|
||||
tool-version: ${{ inputs.VERSION || '18.12.0' }}
|
||||
|
@@ -1,40 +1,20 @@
|
||||
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
|
||||
|
||||
BeforeAll {
|
||||
function Get-UseNodeLogs {
|
||||
# GitHub Windows images don't have `HOME` variable
|
||||
$homeDir = $env:HOME ?? $env:HOMEDRIVE
|
||||
$logsFolderPath = Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages" -Resolve
|
||||
|
||||
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
|
||||
$logContent = Get-Content $_.Fullname -Raw
|
||||
return $logContent -match "setup-node@v"
|
||||
} | Select-Object -First 1
|
||||
return $useNodeLogFile.Fullname
|
||||
}
|
||||
}
|
||||
|
||||
Describe "Node.js" {
|
||||
|
||||
BeforeAll {
|
||||
function Get-UseNodeLogs {
|
||||
# GitHub Windows images don't have `HOME` variable
|
||||
$homeDir = $env:HOME ?? $env:HOMEDRIVE
|
||||
|
||||
$possiblePaths = @(
|
||||
Join-Path -Path $homeDir -ChildPath "actions-runner/cached/_diag/pages"
|
||||
Join-Path -Path $homeDir -ChildPath "runners/*/_diag/pages"
|
||||
)
|
||||
|
||||
$logsFolderPath = $possiblePaths | Where-Object { Test-Path $_ } | Select-Object -First 1
|
||||
$resolvedPath = Resolve-Path -Path $logsFolderPath -ErrorAction SilentlyContinue
|
||||
|
||||
if ($resolvedPath -and -not [string]::IsNullOrEmpty($resolvedPath.Path) -and (Test-Path $resolvedPath.Path)) {
|
||||
$useNodeLogFile = Get-ChildItem -Path $resolvedPath | Where-Object {
|
||||
$logContent = Get-Content $_.Fullname -Raw
|
||||
return $logContent -match "setup-node@v"
|
||||
} | Select-Object -First 1
|
||||
|
||||
# Return the file name if a match is found
|
||||
if ($useNodeLogFile) {
|
||||
return $useNodeLogFile.FullName
|
||||
} else {
|
||||
Write-Error "No matching log file found in the specified path: $($resolvedPath.Path)"
|
||||
}
|
||||
} else {
|
||||
Write-Error "The provided logs folder path is null, empty, or does not exist: $logsFolderPath"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
It "is available" {
|
||||
"node --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
@@ -54,24 +34,24 @@ Describe "Node.js" {
|
||||
$nodePath.startsWith($expectedPath) | Should -BeTrue -Because "'$nodePath' is not started with '$expectedPath'"
|
||||
}
|
||||
|
||||
It "cached version is used without downloading" {
|
||||
|
||||
if ($env:RUNNER_TYPE -eq "self-hosted") {
|
||||
It "cached version is used without downloading" {
|
||||
if ($env:RUNNER_TYPE -eq "GitHub") {
|
||||
# Analyze output of previous steps to check if Node.js was consumed from cache or downloaded
|
||||
$useNodeLogFile = Get-UseNodeLogs
|
||||
$useNodeLogFile | Should -Exist
|
||||
$useNodeLogContent = Get-Content $useNodeLogFile -Raw
|
||||
$useNodeLogContent | Should -Match "Found in cache"
|
||||
} else {
|
||||
# Get the installed version of Node.js
|
||||
$nodeVersion = Invoke-Expression "node --version"
|
||||
# Check if Node.js is installed
|
||||
$nodeVersion | Should -Not -BeNullOrEmpty
|
||||
# Check if the installed version of Node.js is the expected version
|
||||
$nodeVersion | Should -Match $env:VERSION
|
||||
}else {
|
||||
# Analyze output of previous steps to check if Node.js was consumed from cache or downloaded
|
||||
$useNodeLogFile = Get-UseNodeLogs
|
||||
$useNodeLogFile | Should -Exist
|
||||
$useNodeLogContent = Get-Content $useNodeLogFile -Raw
|
||||
$useNodeLogContent | Should -Match "Found in cache"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
It "Run simple code" {
|
||||
"node ./simple-test.js" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user