mirror of
https://github.com/actions/setup-node.git
synced 2026-10-15 20:06:55 +00:00
Compare commits
11
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
949feb2413 | ||
|
|
7207c4f118 | ||
|
|
54337e0d02 | ||
|
|
fb54fa8c14 | ||
|
|
7f84f1d52d | ||
|
|
0c54c7b074 | ||
|
|
a829419004 | ||
|
|
680d1e489b | ||
|
|
db0fb3a98e | ||
|
|
94196ee1d1 | ||
|
|
d1fcc24e82 |
No files matched your search
@@ -46,7 +46,7 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
|
||||
uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
|
||||
with:
|
||||
version: 10
|
||||
- name: Generate pnpm file
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ allowed:
|
||||
- mit
|
||||
- cc0-1.0
|
||||
- unlicense
|
||||
- blueoak-1.0.0
|
||||
- BlueOak-1.0.0
|
||||
|
||||
reviewed:
|
||||
npm:
|
||||
|
||||
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
File renamed without changes.
Generated
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
Binary file not shown.
Generated
BIN
Binary file not shown.
@@ -177,6 +177,10 @@ describe('main tests', () => {
|
||||
);
|
||||
});
|
||||
|
||||
afterEach(() => {
|
||||
jest.restoreAllMocks();
|
||||
});
|
||||
|
||||
each`
|
||||
contents | expected
|
||||
${'12'} | ${'12'}
|
||||
@@ -315,11 +319,39 @@ describe('main tests', () => {
|
||||
|
||||
// Assert
|
||||
expect(getNodeVersionFromFileSpy).toHaveBeenCalled();
|
||||
// A relative input is still resolved against the workspace.
|
||||
expect(getNodeVersionFromFileSpy).toHaveBeenCalledWith(
|
||||
path.join(process.env['GITHUB_WORKSPACE']!, '.nvmrc')
|
||||
);
|
||||
expect(infoSpy).toHaveBeenCalledWith(
|
||||
`Resolved ${inputs['node-version-file']} as ${expectedVersionSpec}`
|
||||
);
|
||||
}, 10000);
|
||||
|
||||
it('reads node-version-file given as an absolute path outside the workspace', async () => {
|
||||
// Arrange: a composite action passes `${{ github.action_path }}/.nvmrc`,
|
||||
// which is absolute and may sit outside GITHUB_WORKSPACE.
|
||||
// The workspace deliberately points at a different existing directory,
|
||||
// so the absolute version file lies outside it.
|
||||
const workspace = path.join(__dirname, 'mock');
|
||||
process.env['GITHUB_WORKSPACE'] = workspace;
|
||||
const versionFilePath = path.join(__dirname, 'data', '.nvmrc');
|
||||
// Guard the premise: the version file lives outside the workspace.
|
||||
expect(path.relative(workspace, versionFilePath).startsWith('..')).toBe(
|
||||
true
|
||||
);
|
||||
inputs['node-version-file'] = versionFilePath;
|
||||
|
||||
// Act
|
||||
await main.run();
|
||||
|
||||
// Assert: the path is used as provided and the real file is read.
|
||||
// The expected `24` comes from `__tests__/data/.nvmrc` (`v24`).
|
||||
expect(getNodeVersionFromFileSpy).toHaveBeenCalledWith(versionFilePath);
|
||||
expect(infoSpy).toHaveBeenCalledWith(`Resolved ${versionFilePath} as 24`);
|
||||
expect(core.setFailed as jest.Mock).not.toHaveBeenCalled();
|
||||
}, 10000);
|
||||
|
||||
it('should throw an error if node-version-file is not accessible', async () => {
|
||||
// Arrange
|
||||
inputs['node-version-file'] = 'non-existing-file';
|
||||
|
||||
Vendored
+3150
-5148
File diff suppressed because it is too large.
Load diff
Vendored
+3237
-5233
File diff suppressed because it is too large.
Load diff
@@ -79,7 +79,7 @@ steps:
|
||||
The `node-version-file` input accepts a path to a file containing the version of Node.js to be used by a project, for example `.nvmrc`, `.node-version`, `.tool-versions`, `mise.toml`, or `package.json`. If both the `node-version` and the `node-version-file` inputs are provided then the `node-version` input is used.
|
||||
See [supported version syntax](https://github.com/actions/setup-node#supported-version-syntax).
|
||||
|
||||
> The action will search for the node version file relative to the repository root.
|
||||
> The action resolves a relative `node-version-file` path against `GITHUB_WORKSPACE`, which is the repository root by default. If the input is a full absolute path, the action uses that path directly instead of appending it to the workspace.
|
||||
|
||||
```yaml
|
||||
steps:
|
||||
|
||||
Generated
+578
-869
File diff suppressed because it is too large.
Load diff
+10
-10
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "setup-node",
|
||||
"version": "7.0.0",
|
||||
"version": "7.1.0",
|
||||
"type": "module",
|
||||
"private": true,
|
||||
"description": "setup node action",
|
||||
@@ -29,7 +29,7 @@
|
||||
"author": "GitHub",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@actions/cache": "^6.2.0",
|
||||
"@actions/cache": "^6.3.0",
|
||||
"@actions/core": "^3.0.1",
|
||||
"@actions/exec": "^3.0.0",
|
||||
"@actions/github": "^9.1.1",
|
||||
@@ -41,25 +41,25 @@
|
||||
"smol-toml": "^1.7.1"
|
||||
},
|
||||
"overrides": {
|
||||
"brace-expansion": "5.0.9"
|
||||
"brace-expansion": "5.0.12"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@eslint/js": "^10.0.1",
|
||||
"@jest/globals": "^30.4.1",
|
||||
"@types/node": "^24.1.0",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@types/semver": "^7.8.0",
|
||||
"@typescript-eslint/eslint-plugin": "^8.62.0",
|
||||
"@typescript-eslint/parser": "^8.62.0",
|
||||
"@vercel/ncc": "^0.44.0",
|
||||
"eslint": "^10.5.0",
|
||||
"@typescript-eslint/parser": "^8.70.0",
|
||||
"@vercel/ncc": "^0.45.0",
|
||||
"eslint": "^10.11.0",
|
||||
"eslint-config-prettier": "^10.1.8",
|
||||
"eslint-plugin-jest": "^29.15.2",
|
||||
"eslint-plugin-n": "^18.1.0",
|
||||
"eslint-plugin-n": "^18.3.0",
|
||||
"globals": "^17.7.0",
|
||||
"jest": "^30.4.2",
|
||||
"jest-each": "^30.4.1",
|
||||
"jest-each": "^30.5.2",
|
||||
"prettier": "^3.9.6",
|
||||
"ts-jest": "^29.4.11",
|
||||
"typescript": "^7.0.2"
|
||||
"typescript": "^6.0.3"
|
||||
}
|
||||
}
|
||||
+3
-1
@@ -120,7 +120,9 @@ function resolveVersionInput(): string {
|
||||
}
|
||||
|
||||
if (versionFileInput) {
|
||||
const versionFilePath = path.join(
|
||||
// `path.resolve` (unlike `path.join`) keeps an already-absolute input as-is,
|
||||
// so a composite action can pass `${{ github.action_path }}/.nvmrc`.
|
||||
const versionFilePath = path.resolve(
|
||||
process.env.GITHUB_WORKSPACE!,
|
||||
versionFileInput
|
||||
);
|
||||
|
||||
Reference in new issue
Block a user