mirror of
https://github.com/actions/node-versions.git
synced 2025-05-17 09:52:27 +00:00
Compare commits
No commits in common. "main" and "10.22.0-20200722.2" have entirely different histories.
main
...
10.22.0-20
1
.github/CODEOWNERS
vendored
1
.github/CODEOWNERS
vendored
@ -1 +0,0 @@
|
||||
* @actions/setup-actions-team
|
31
.github/workflows/build-node-packages.yml
vendored
31
.github/workflows/build-node-packages.yml
vendored
@ -1,31 +0,0 @@
|
||||
name: Generate Node.js packages
|
||||
run-name: Generate Node.js ${{ inputs.VERSION || '18.12.0' }}
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
VERSION:
|
||||
description: 'Node.js version to build and upload'
|
||||
required: true
|
||||
default: '18.12.0'
|
||||
PUBLISH_RELEASES:
|
||||
description: 'Whether to publish releases'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- 'versions-manifest.json'
|
||||
- 'LICENSE'
|
||||
- '**.md'
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
node:
|
||||
name: Node
|
||||
uses: actions/versions-package-tools/.github/workflows/build-tool-packages.yml@main
|
||||
with:
|
||||
tool-name: "node"
|
||||
tool-version: ${{ inputs.VERSION || '18.12.0' }}
|
||||
publish-release: ${{ inputs.PUBLISH_RELEASES || false }}
|
||||
secrets: inherit
|
14
.github/workflows/codeql-analysis.yml
vendored
14
.github/workflows/codeql-analysis.yml
vendored
@ -1,14 +0,0 @@
|
||||
name: CodeQL analysis
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
schedule:
|
||||
- cron: '0 3 * * 0'
|
||||
|
||||
jobs:
|
||||
call-codeQL-analysis:
|
||||
name: CodeQL analysis
|
||||
uses: actions/reusable-workflows/.github/workflows/codeql-analysis.yml@main
|
10
.github/workflows/create-pr.yml
vendored
10
.github/workflows/create-pr.yml
vendored
@ -1,10 +0,0 @@
|
||||
name: Create Pull Request
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
create-pr:
|
||||
uses: actions/versions-package-tools/.github/workflows/create-pr-to-update-manifest.yml@main
|
||||
with:
|
||||
tool-name: "node"
|
||||
secrets: inherit
|
13
.github/workflows/get-node-versions.yml
vendored
13
.github/workflows/get-node-versions.yml
vendored
@ -1,13 +0,0 @@
|
||||
name: Get Node versions
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 3,15 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
get-new-node-versions:
|
||||
uses: actions/versions-package-tools/.github/workflows/get-new-tool-versions.yml@main
|
||||
with:
|
||||
tool-name: "Node"
|
||||
image-url: "https://nodejs.org/static/images/logo-hexagon-card.png"
|
||||
secrets: inherit
|
21
.github/workflows/validate-manifest.yml
vendored
21
.github/workflows/validate-manifest.yml
vendored
@ -1,21 +0,0 @@
|
||||
name: Validate manifest
|
||||
on:
|
||||
# The GITHUB_TOKEN secret is used to create a PR
|
||||
# The pull_request event will not be triggered by it
|
||||
# That's one of the reasons we need the schedule to validate the versions-manifest.json file
|
||||
schedule:
|
||||
- cron: '0 8,20 * * *'
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'versions-manifest.json'
|
||||
|
||||
jobs:
|
||||
manifest:
|
||||
uses: actions/versions-package-tools/.github/workflows/validate-manifest.yml@main
|
||||
with:
|
||||
tool-name: "Node"
|
||||
image-url: "https://nodejs.org/static/images/logo-hexagon-card.png"
|
||||
secrets: inherit
|
@ -29,20 +29,22 @@ Here are a few things you can do that will increase the likelihood of your pull
|
||||
### Directory structure
|
||||
```
|
||||
|
||||
├── .github/
|
||||
| └──workflows/
|
||||
├── azure-pipelines/
|
||||
| └──templates/
|
||||
├── builders/
|
||||
├── helpers/
|
||||
├── installers/
|
||||
└── tests/
|
||||
└──sources/
|
||||
```
|
||||
- `.github/workflows` - contains repository workflow files.
|
||||
- `azure-pipelines*` - contains global YAML definitions for build pipelines. Reusable templates for specific jobs are located in `templates` subfolder.
|
||||
- `builders` - contains Node.js builder classes and functions.
|
||||
- `helpers` - contains global helper classes and functions.
|
||||
- `helpers` - contains global helper functions and functions.
|
||||
- `installers` - contains installation script templates.
|
||||
- `tests` - contains test scripts. Required tests sources are located in `sources` subfolder.
|
||||
|
||||
\* _We use Azure Pipelines because there are a few features that Actions is still missing, we'll move to Actions as soon as possible_.
|
||||
|
||||
## Resources
|
||||
|
||||
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
|
||||
|
11
README.md
11
README.md
@ -1,18 +1,15 @@
|
||||
# Node.js for Actions
|
||||
This repository contains the code and scripts that we use to prepare Node.js packages used in [runner-images](https://github.com/actions/runner-images) and accessible through the [setup-node](https://github.com/actions/setup-node) Action.
|
||||
This repository contains the code and scripts that we use to prepare Node.js packages used in [virtual-environments](https://github.com/actions/virtual-environments) and accessible through the [setup-node](https://github.com/actions/setup-node) Action.
|
||||
The file [versions-manifest.json](./versions-manifest.json) contains the list of available and released versions.
|
||||
|
||||
> Caution: this is prepared for and only permitted for use by actions `runner-images` and `setup-node` action.
|
||||
> Caution: this is prepared for and only permitted for use by actions `virtual-environments` and `setup-node` action.
|
||||
|
||||
**Status**: Currently under development and in use for beta and preview actions. This repo is undergoing rapid changes.
|
||||
|
||||
Latest of LTS versions will be installed on the [runner-images](https://github.com/actions/runner-images) images. Other versions will be pulled JIT using the [`setup-node`](https://github.com/actions/setup-node) action.
|
||||
Latest of LTS versions will be installed on the [virtual-environments](https://github.com/actions/virtual-environments) images. Other versions will be pulled JIT using the [`setup-node`](https://github.com/actions/setup-node) action.
|
||||
|
||||
## Adding new versions
|
||||
We are trying to prepare packages for new versions of Node.js as soon as they are released. Please open an issue in [actions/runner-images](https://github.com/actions/runner-images) if any versions are missing.
|
||||
|
||||
## Support Notification Policy
|
||||
Beginning **approximately six months prior** to the removal of a Node.js version from the [versions-manifest.json](https://github.com/actions/node-versions/blob/main/versions-manifest.json) file, a pinned issue will be created in the [setup-node](https://github.com/actions/setup-node) repository. This pinned issue will provide important details about the upcoming end of support, including the specific date, as well as any other notes, relevant updates or alternatives. We encourage users to regularly check pinned issues for updates on tool versions they are using for maximum transparency, security, performance and overall compatibility with their projects.
|
||||
We are trying to prepare packages for new versions of Node.js as soon as they are released. Please open an issue in [actions/virtual-environments](https://github.com/actions/virtual-environments) if any versions are missing.
|
||||
|
||||
## Contribution
|
||||
Contributions are welcome! See [Contributor's Guide](./CONTRIBUTING.md) for more details about contribution process and code structure
|
||||
|
65
azure-pipelines/build-node-packages.yml
Normal file
65
azure-pipelines/build-node-packages.yml
Normal file
@ -0,0 +1,65 @@
|
||||
name: $(date:yyyyMMdd)$(rev:.r)-Node.js-$(VERSION)
|
||||
trigger: none
|
||||
pr:
|
||||
autoCancel: true
|
||||
branches:
|
||||
include:
|
||||
- main
|
||||
paths:
|
||||
exclude:
|
||||
- versions-manifest.json
|
||||
|
||||
stages:
|
||||
- stage: Build_Node_Darwin
|
||||
dependsOn: []
|
||||
variables:
|
||||
Platform: darwin
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/build-job.yml
|
||||
|
||||
- stage: Test_Node_Darwin
|
||||
condition: succeeded()
|
||||
dependsOn: Build_Node_Darwin
|
||||
variables:
|
||||
VmImage: macOS-latest
|
||||
Platform: darwin
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/test-job.yml
|
||||
|
||||
- stage: Build_Node_Linux
|
||||
dependsOn: []
|
||||
variables:
|
||||
Platform: linux
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/build-job.yml
|
||||
|
||||
- stage: Test_Node_Linux
|
||||
condition: succeeded()
|
||||
dependsOn: Build_Node_Linux
|
||||
variables:
|
||||
VmImage: ubuntu-latest
|
||||
Platform: linux
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/test-job.yml
|
||||
|
||||
- stage: Build_Node_Windows
|
||||
dependsOn: []
|
||||
variables:
|
||||
Platform: win32
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/build-job.yml
|
||||
|
||||
- stage: Test_Node_Windows
|
||||
condition: succeeded()
|
||||
dependsOn: Build_Node_Windows
|
||||
variables:
|
||||
VmImage: windows-latest
|
||||
Platform: win32
|
||||
Architecture: x64
|
||||
jobs:
|
||||
- template: /azure-pipelines/templates/test-job.yml
|
21
azure-pipelines/templates/build-job.yml
Normal file
21
azure-pipelines/templates/build-job.yml
Normal file
@ -0,0 +1,21 @@
|
||||
jobs:
|
||||
- job: Build_Node
|
||||
timeoutInMinutes: 90
|
||||
pool:
|
||||
name: Azure Pipelines
|
||||
vmImage: ubuntu-latest
|
||||
steps:
|
||||
- checkout: self
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Build Node $(Version)'
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: './builders/build-node.ps1'
|
||||
arguments: '-Version $(Version) -Platform $(Platform) -Architecture $(Architecture)'
|
||||
|
||||
- task: PublishPipelineArtifact@1
|
||||
displayName: 'Publish Artifact: Node.js $(Version)'
|
||||
inputs:
|
||||
targetPath: '$(Build.ArtifactStagingDirectory)'
|
||||
artifactName: 'node-$(Version)-$(Platform)-$(Architecture)'
|
75
azure-pipelines/templates/test-job.yml
Normal file
75
azure-pipelines/templates/test-job.yml
Normal file
@ -0,0 +1,75 @@
|
||||
jobs:
|
||||
- job: Test_Node
|
||||
pool:
|
||||
name: Azure Pipelines
|
||||
vmImage: $(VmImage)
|
||||
steps:
|
||||
- checkout: self
|
||||
submodules: true
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: Fully cleanup the toolcache directory before testing
|
||||
inputs:
|
||||
targetType: filePath
|
||||
filePath: helpers/clean-toolcache.ps1
|
||||
arguments: -ToolName "node"
|
||||
|
||||
- task: DownloadPipelineArtifact@2
|
||||
inputs:
|
||||
source: 'current'
|
||||
artifact: 'node-$(Version)-$(Platform)-$(Architecture)'
|
||||
path: $(Build.ArtifactStagingDirectory)
|
||||
|
||||
- task: ExtractFiles@1
|
||||
inputs:
|
||||
archiveFilePatterns: '$(Build.ArtifactStagingDirectory)/node-$(Version)-$(Platform)-$(Architecture).*'
|
||||
destinationFolder: $(Build.BinariesDirectory)
|
||||
cleanDestinationFolder: false
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Apply build artifact to the local machines'
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
if ("$(Platform)" -match 'win32') { powershell ./setup.ps1 } else { sh ./setup.sh }
|
||||
workingDirectory: '$(Build.BinariesDirectory)'
|
||||
|
||||
- task: NodeTool@0
|
||||
displayName: 'Use Node $(Version)'
|
||||
inputs:
|
||||
versionSpec: $(Version)
|
||||
|
||||
- task: PowerShell@2
|
||||
displayName: 'Wait for the logs'
|
||||
inputs:
|
||||
targetType: inline
|
||||
script: |
|
||||
Write-Host "Fake step that do nothing"
|
||||
Write-Host "We need it because log of previous step 'Use Node' is not available here yet."
|
||||
Write-Host "In testing step (Node.Tests.ps1) we analyze build log of 'Use Node' task"
|
||||
Write-Host "to determine if Node.js version was consumed from cache and was downloaded"
|
||||
- task: PowerShell@2
|
||||
displayName: 'Run tests'
|
||||
inputs:
|
||||
TargetType: inline
|
||||
script: |
|
||||
Install-Module Pester -Force -Scope CurrentUser -RequiredVersion 4.10.1
|
||||
Import-Module Pester
|
||||
$pesterParams = @{
|
||||
Path="./Node.Tests.ps1";
|
||||
Parameters=@{
|
||||
Version="$(Version)";
|
||||
}
|
||||
}
|
||||
Invoke-Pester -Script $pesterParams -OutputFile "test_results.xml" -OutputFormat NUnitXml
|
||||
workingDirectory: '$(Build.SourcesDirectory)/tests'
|
||||
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish test results'
|
||||
inputs:
|
||||
testResultsFiles: '*.xml'
|
||||
testResultsFormat: NUnit
|
||||
searchFolder: 'tests'
|
||||
failTaskOnFailedTests: true
|
||||
testRunTitle: "Node.js $(Version)-$(Platform)"
|
||||
condition: always()
|
@ -1,5 +1,5 @@
|
||||
using module "./win-node-builder.psm1"
|
||||
using module "./nix-node-builder.psm1"
|
||||
using module "./builders/win-node-builder.psm1"
|
||||
using module "./builders/nix-node-builder.psm1"
|
||||
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
@ -1,4 +1,4 @@
|
||||
using module "./node-builder.psm1"
|
||||
using module "./builders/node-builder.psm1"
|
||||
|
||||
class NixNodeBuilder : NodeBuilder {
|
||||
<#
|
||||
@ -54,7 +54,7 @@ class NixNodeBuilder : NodeBuilder {
|
||||
$installationTemplateLocation = Join-Path -Path $this.InstallationTemplatesLocation -ChildPath $this.InstallationTemplateName
|
||||
|
||||
$installationTemplateContent = Get-Content -Path $installationTemplateLocation -Raw
|
||||
$installationTemplateContent = $installationTemplateContent -f $this.Version.ToString(3), $this.Architecture
|
||||
$installationTemplateContent = $installationTemplateContent -f $this.Version.ToString(3)
|
||||
$installationTemplateContent | Out-File -FilePath $installationScriptLocation
|
||||
|
||||
Write-Debug "Done; Installation script location: $installationScriptLocation)"
|
||||
|
@ -16,13 +16,10 @@ class NodeBuilder {
|
||||
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.
|
||||
The location of temporary files that will be used during Node.js package generation. Using system BUILD_STAGINGDIRECTORY variable value.
|
||||
|
||||
.PARAMETER WorkFolderLocation
|
||||
The location of installation files.
|
||||
|
||||
.PARAMETER ArtifactFolderLocation
|
||||
The location of generated Node.js artifact.
|
||||
.PARAMETER ArtifactLocation
|
||||
The location of generated Node.js artifact. Using system environment BUILD_BINARIESDIRECTORY variable value.
|
||||
|
||||
.PARAMETER InstallationTemplatesLocation
|
||||
The location of installation script template. Using "installers" folder from current repository.
|
||||
@ -43,8 +40,9 @@ class NodeBuilder {
|
||||
$this.Architecture = $architecture
|
||||
|
||||
$this.TempFolderLocation = [IO.Path]::GetTempPath()
|
||||
$this.WorkFolderLocation = Join-Path $env:RUNNER_TEMP "binaries"
|
||||
$this.ArtifactFolderLocation = Join-Path $env:RUNNER_TEMP "artifact"
|
||||
$this.WorkFolderLocation = $env:BUILD_BINARIESDIRECTORY
|
||||
$this.ArtifactFolderLocation = $env:BUILD_STAGINGDIRECTORY
|
||||
|
||||
|
||||
$this.InstallationTemplatesLocation = Join-Path -Path $PSScriptRoot -ChildPath "../installers"
|
||||
}
|
||||
@ -86,10 +84,6 @@ class NodeBuilder {
|
||||
Generates Node.js artifact from downloaded binaries.
|
||||
#>
|
||||
|
||||
Write-Host "Create WorkFolderLocation and ArtifactFolderLocation folders"
|
||||
New-Item -Path $this.WorkFolderLocation -ItemType "directory"
|
||||
New-Item -Path $this.ArtifactFolderLocation -ItemType "directory"
|
||||
|
||||
Write-Host "Download Node.js $($this.Version) [$($this.Architecture)] executable..."
|
||||
$binariesArchivePath = $this.Download()
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
using module "./node-builder.psm1"
|
||||
using module "./builders/node-builder.psm1"
|
||||
|
||||
class WinNodeBuilder : NodeBuilder {
|
||||
<#
|
||||
|
@ -1,8 +1,7 @@
|
||||
{
|
||||
"regex": "node-\\d+\\.\\d+\\.\\d+-(\\w+)-((x|arm)\\d+)",
|
||||
"regex": "node-\\d+\\.\\d+\\.\\d+-(\\w+)-(x\\d+)",
|
||||
"groups": {
|
||||
"arch": 2,
|
||||
"platform": 1
|
||||
},
|
||||
"lts_rule_expression": "(Invoke-RestMethod 'https://raw.githubusercontent.com/nodejs/Release/main/schedule.json').PSObject.Properties | Where-Object { $_.Value.codename } | ForEach-Object { @{ Name = $_.Name.TrimStart('v'); Value = $_.Value.codename } }"
|
||||
}
|
||||
}
|
2
helpers
2
helpers
@ -1 +1 @@
|
||||
Subproject commit 6fbb1f0f2098254142702dba05fe75cd8e77c4ae
|
||||
Subproject commit 1069e7a4ece355bd321909454fc1f9f7244eb03b
|
@ -1,11 +1,10 @@
|
||||
set -e
|
||||
|
||||
NODE_VERSION={0}
|
||||
ARCH={1}
|
||||
|
||||
NODE_TOOLCACHE_PATH=$AGENT_TOOLSDIRECTORY/node
|
||||
NODE_TOOLCACHE_VERSION_PATH=$NODE_TOOLCACHE_PATH/$NODE_VERSION
|
||||
NODE_TOOLCACHE_VERSION_ARCH_PATH=$NODE_TOOLCACHE_VERSION_PATH/$ARCH
|
||||
NODE_TOOLCACHE_VERSION_ARCH_PATH=$NODE_TOOLCACHE_VERSION_PATH/x64
|
||||
|
||||
echo "Check if Node.js hostedtoolcache folder exist..."
|
||||
if [ ! -d $NODE_TOOLCACHE_PATH ]; then
|
||||
@ -23,4 +22,4 @@ cp -R ./* $NODE_TOOLCACHE_VERSION_ARCH_PATH
|
||||
rm $NODE_TOOLCACHE_VERSION_ARCH_PATH/setup.sh
|
||||
|
||||
echo "Create complete file"
|
||||
touch $NODE_TOOLCACHE_VERSION_PATH/$ARCH.complete
|
||||
touch $NODE_TOOLCACHE_VERSION_PATH/x64.complete
|
||||
|
@ -1,58 +1,43 @@
|
||||
param (
|
||||
[Version] [Parameter (Mandatory = $true)] [ValidateNotNullOrEmpty()]
|
||||
$Version
|
||||
)
|
||||
|
||||
Import-Module (Join-Path $PSScriptRoot "../helpers/pester-extensions.psm1")
|
||||
|
||||
function Get-UseNodeLogs {
|
||||
$logsFolderPath = Join-Path -Path $env:AGENT_HOMEDIRECTORY -ChildPath "_diag" | Join-Path -ChildPath "pages"
|
||||
|
||||
$useNodeLogFile = Get-ChildItem -Path $logsFolderPath | Where-Object {
|
||||
$logContent = Get-Content $_.Fullname -Raw
|
||||
return $logContent -match "Use Node"
|
||||
} | 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
|
||||
$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
|
||||
}
|
||||
}
|
||||
|
||||
It "is available" {
|
||||
"node --version" | Should -ReturnZeroExitCode
|
||||
}
|
||||
|
||||
It "version is correct" {
|
||||
$versionOutput = Invoke-Expression "node --version"
|
||||
$versionOutput | Should -Match $env:VERSION
|
||||
$versionOutput | Should -Match $Version
|
||||
}
|
||||
|
||||
It "is used from tool-cache" {
|
||||
$nodePath = (Get-Command "node").Path
|
||||
$nodePath | Should -Not -BeNullOrEmpty
|
||||
|
||||
# GitHub Windows images don't have `AGENT_TOOLSDIRECTORY` variable
|
||||
$toolcacheDir = $env:AGENT_TOOLSDIRECTORY ?? $env:RUNNER_TOOL_CACHE
|
||||
$expectedPath = Join-Path -Path $toolcacheDir -ChildPath "node"
|
||||
$expectedPath = Join-Path -Path $env:AGENT_TOOLSDIRECTORY -ChildPath "node"
|
||||
$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") {
|
||||
# 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 "cached version is used without downloading" {
|
||||
# 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 tool in cache"
|
||||
}
|
||||
|
||||
It "Run simple code" {
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user