From dc9eba32a7f085cb478ee293724f7a39b341ae13 Mon Sep 17 00:00:00 2001 From: Salman Muin Kayser Chishti Date: Thu, 31 Jul 2025 15:45:17 +0100 Subject: [PATCH 1/8] Upgrade to node 24 Upgrading action to node 24 since new runner version. --- .github/workflows/basic-validation.yml | 2 +- .github/workflows/check-dist.yml | 2 +- action.yml | 2 +- package-lock.json | 21 +++++++++++++-------- package.json | 5 ++++- 5 files changed, 20 insertions(+), 12 deletions(-) diff --git a/.github/workflows/basic-validation.yml b/.github/workflows/basic-validation.yml index 37fa323e..e93e5800 100644 --- a/.github/workflows/basic-validation.yml +++ b/.github/workflows/basic-validation.yml @@ -16,4 +16,4 @@ jobs: name: Basic validation uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main with: - node-version: '20.x' + node-version: '24.x' diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 509ea6cc..90ef986a 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -16,4 +16,4 @@ jobs: name: Check dist/ uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main with: - node-version: '20.x' + node-version: '24.x' diff --git a/action.yml b/action.yml index 0969d5d4..21a4269d 100644 --- a/action.yml +++ b/action.yml @@ -81,6 +81,6 @@ outputs: cache-hit: description: 'A boolean value to indicate an exact match was found for the primary key' runs: - using: 'node20' + using: 'node24' main: 'dist/setup/index.js' post: 'dist/cleanup/index.js' diff --git a/package-lock.json b/package-lock.json index ef4f83d2..89bde9fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ }, "devDependencies": { "@types/jest": "^29.5.14", - "@types/node": "^20.11.24", + "@types/node": "^24.1.0", "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^8.35.1", "@typescript-eslint/parser": "^8.35.1", @@ -35,6 +35,9 @@ "prettier": "^2.8.4", "ts-jest": "^29.3.0", "typescript": "^5.3.3" + }, + "engines": { + "node": ">=24.0.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -1644,11 +1647,12 @@ } }, "node_modules/@types/node": { - "version": "20.11.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", - "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.1.0.tgz", + "integrity": "sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==", + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~7.8.0" } }, "node_modules/@types/node-fetch": { @@ -5510,9 +5514,10 @@ } }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "license": "MIT" }, "node_modules/update-browserslist-db": { "version": "1.0.13", diff --git a/package.json b/package.json index 400a585c..aafcde95 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,9 @@ "private": true, "description": "setup java action", "main": "dist/setup/index.js", + "engines": { + "node": ">=24.0.0" + }, "scripts": { "build": "ncc build -o dist/setup src/setup-java.ts && ncc build -o dist/cleanup src/cleanup-java.ts", "format": "prettier --no-error-on-unmatched-pattern --config ./.prettierrc.js --write \"**/*.{ts,yml,yaml}\"", @@ -38,7 +41,7 @@ }, "devDependencies": { "@types/jest": "^29.5.14", - "@types/node": "^20.11.24", + "@types/node": "^24.1.0", "@types/semver": "^7.5.8", "@typescript-eslint/eslint-plugin": "^8.35.1", "@typescript-eslint/parser": "^8.35.1", From bb39e340a4026804095096d22fcb90a974670286 Mon Sep 17 00:00:00 2001 From: Salman Muin Kayser Chishti Date: Thu, 31 Jul 2025 20:32:42 +0100 Subject: [PATCH 2/8] fix tests --- __tests__/distributors/adopt-installer.test.ts | 6 +++++- __tests__/distributors/base-installer.test.ts | 6 +++++- __tests__/distributors/corretto-installer.test.ts | 6 +++++- __tests__/distributors/graalvm-installer.test.ts | 6 +++++- __tests__/distributors/liberica-installer.test.ts | 6 +++++- .../distributors/liberica-linux-installer.test.ts | 6 +++++- .../distributors/liberica-windows-installer.test.ts | 6 +++++- __tests__/distributors/microsoft-installer.test.ts | 10 +++++++--- __tests__/distributors/oracle-installer.test.ts | 6 +++++- __tests__/distributors/temurin-installer.test.ts | 6 +++++- __tests__/distributors/zulu-installer.test.ts | 6 +++++- __tests__/distributors/zulu-linux-installer.test.ts | 6 +++++- __tests__/distributors/zulu-windows-installer.test.ts | 6 +++++- __tests__/toolchains.test.ts | 8 +++++--- 14 files changed, 72 insertions(+), 18 deletions(-) diff --git a/__tests__/distributors/adopt-installer.test.ts b/__tests__/distributors/adopt-installer.test.ts index 8a112243..110b5cc3 100644 --- a/__tests__/distributors/adopt-installer.test.ts +++ b/__tests__/distributors/adopt-installer.test.ts @@ -8,6 +8,10 @@ import {JavaInstallerOptions} from '../../src/distributions/base-models'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/adopt.json'; describe('getAvailableVersions', () => { @@ -191,7 +195,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const installerOptions: JavaInstallerOptions = { version: '17', diff --git a/__tests__/distributors/base-installer.test.ts b/__tests__/distributors/base-installer.test.ts index b2c61026..acf9f0c2 100644 --- a/__tests__/distributors/base-installer.test.ts +++ b/__tests__/distributors/base-installer.test.ts @@ -14,6 +14,10 @@ import { import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + class EmptyJavaBase extends JavaBase { constructor(installerOptions: JavaInstallerOptions) { super('Empty', installerOptions); @@ -287,7 +291,7 @@ describe('setupJava', () => { spyCoreSetOutput = jest.spyOn(core, 'setOutput'); spyCoreSetOutput.mockImplementation(() => undefined); - jest.spyOn(os, 'arch').mockReturnValue('x86'); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture('x86')); }); afterEach(() => { diff --git a/__tests__/distributors/corretto-installer.test.ts b/__tests__/distributors/corretto-installer.test.ts index a8ffef22..059020f5 100644 --- a/__tests__/distributors/corretto-installer.test.ts +++ b/__tests__/distributors/corretto-installer.test.ts @@ -6,6 +6,10 @@ import * as util from '../../src/util'; import os from 'os'; import {isGeneratorFunction} from 'util/types'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/corretto.json'; describe('getAvailableVersions', () => { @@ -208,7 +212,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const version = '17'; const installerOptions: JavaInstallerOptions = { diff --git a/__tests__/distributors/graalvm-installer.test.ts b/__tests__/distributors/graalvm-installer.test.ts index ae2db43c..8c2ab52b 100644 --- a/__tests__/distributors/graalvm-installer.test.ts +++ b/__tests__/distributors/graalvm-installer.test.ts @@ -1,5 +1,9 @@ import {GraalVMDistribution} from '../../src/distributions/graalvm/installer'; import os from 'os'; + +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} import * as core from '@actions/core'; import {getDownloadArchiveExtension} from '../../src/util'; import {HttpClient} from '@actions/http-client'; @@ -103,7 +107,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '21'; diff --git a/__tests__/distributors/liberica-installer.test.ts b/__tests__/distributors/liberica-installer.test.ts index 33a51017..dada9223 100644 --- a/__tests__/distributors/liberica-installer.test.ts +++ b/__tests__/distributors/liberica-installer.test.ts @@ -6,6 +6,10 @@ import { import {HttpClient} from '@actions/http-client'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/liberica.json'; describe('getAvailableVersions', () => { @@ -105,7 +109,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/liberica-linux-installer.test.ts b/__tests__/distributors/liberica-linux-installer.test.ts index 8e6a665e..a5511a12 100644 --- a/__tests__/distributors/liberica-linux-installer.test.ts +++ b/__tests__/distributors/liberica-linux-installer.test.ts @@ -6,6 +6,10 @@ import { import {HttpClient} from '@actions/http-client'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/liberica-linux.json'; describe('getAvailableVersions', () => { @@ -105,7 +109,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/liberica-windows-installer.test.ts b/__tests__/distributors/liberica-windows-installer.test.ts index 1ccc57ed..1cbf18d2 100644 --- a/__tests__/distributors/liberica-windows-installer.test.ts +++ b/__tests__/distributors/liberica-windows-installer.test.ts @@ -6,6 +6,10 @@ import { import {HttpClient} from '@actions/http-client'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/liberica-windows.json'; describe('getAvailableVersions', () => { @@ -105,7 +109,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/microsoft-installer.test.ts b/__tests__/distributors/microsoft-installer.test.ts index 00c4b6c6..ee526ff2 100644 --- a/__tests__/distributors/microsoft-installer.test.ts +++ b/__tests__/distributors/microsoft-installer.test.ts @@ -1,5 +1,9 @@ import {MicrosoftDistributions} from '../../src/distributions/microsoft/installer'; import os from 'os'; + +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} import data from '../data/microsoft.json'; import * as httpm from '@actions/http-client'; import * as core from '@actions/core'; @@ -95,7 +99,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); jest.spyOn(os, 'platform').mockReturnValue('darwin'); const version = '17'; @@ -119,7 +123,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '17'; @@ -143,7 +147,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); jest.spyOn(os, 'platform').mockReturnValue('win32'); const version = '17'; diff --git a/__tests__/distributors/oracle-installer.test.ts b/__tests__/distributors/oracle-installer.test.ts index de391a54..edb90b32 100644 --- a/__tests__/distributors/oracle-installer.test.ts +++ b/__tests__/distributors/oracle-installer.test.ts @@ -1,5 +1,9 @@ import {OracleDistribution} from '../../src/distributions/oracle/installer'; import os from 'os'; + +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} import * as core from '@actions/core'; import {getDownloadArchiveExtension} from '../../src/util'; import {HttpClient} from '@actions/http-client'; @@ -95,7 +99,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '18'; diff --git a/__tests__/distributors/temurin-installer.test.ts b/__tests__/distributors/temurin-installer.test.ts index b8c9e7fd..0bdedaad 100644 --- a/__tests__/distributors/temurin-installer.test.ts +++ b/__tests__/distributors/temurin-installer.test.ts @@ -1,5 +1,9 @@ import {HttpClient} from '@actions/http-client'; import os from 'os'; + +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} import { TemurinDistribution, TemurinImplementation @@ -147,7 +151,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(distroArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(distroArch)); const installerOptions: JavaInstallerOptions = { version: '17', diff --git a/__tests__/distributors/zulu-installer.test.ts b/__tests__/distributors/zulu-installer.test.ts index f8b8a72c..1b0fe449 100644 --- a/__tests__/distributors/zulu-installer.test.ts +++ b/__tests__/distributors/zulu-installer.test.ts @@ -5,6 +5,10 @@ import {IZuluVersions} from '../../src/distributions/zulu/models'; import * as utils from '../../src/util'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/zulu-releases-default.json'; describe('getAvailableVersions', () => { @@ -126,7 +130,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/distributors/zulu-linux-installer.test.ts b/__tests__/distributors/zulu-linux-installer.test.ts index 60f36ee5..946dbdda 100644 --- a/__tests__/distributors/zulu-linux-installer.test.ts +++ b/__tests__/distributors/zulu-linux-installer.test.ts @@ -5,6 +5,10 @@ import {IZuluVersions} from '../../src/distributions/zulu/models'; import * as utils from '../../src/util'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/zulu-linux.json'; describe('getAvailableVersions', () => { @@ -126,7 +130,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/distributors/zulu-windows-installer.test.ts b/__tests__/distributors/zulu-windows-installer.test.ts index dcac5aa0..b8e802eb 100644 --- a/__tests__/distributors/zulu-windows-installer.test.ts +++ b/__tests__/distributors/zulu-windows-installer.test.ts @@ -5,6 +5,10 @@ import {IZuluVersions} from '../../src/distributions/zulu/models'; import * as utils from '../../src/util'; import os from 'os'; +function mockArchitecture(arch: string): NodeJS.Architecture { + return arch as NodeJS.Architecture; +} + import manifestData from '../data/zulu-windows.json'; describe('getAvailableVersions', () => { @@ -126,7 +130,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch); + jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/toolchains.test.ts b/__tests__/toolchains.test.ts index 483077dc..6d4bea26 100644 --- a/__tests__/toolchains.test.ts +++ b/__tests__/toolchains.test.ts @@ -6,7 +6,8 @@ import * as io from '@actions/io'; import * as toolchains from '../src/toolchains'; import {M2_DIR, MVN_TOOLCHAINS_FILE} from '../src/constants'; -const m2Dir = path.join(__dirname, M2_DIR); +const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'setup-java-test-')); +const m2Dir = path.join(tempDir, M2_DIR); const toolchainsFile = path.join(m2Dir, MVN_TOOLCHAINS_FILE); describe('toolchains tests', () => { @@ -16,7 +17,7 @@ describe('toolchains tests', () => { beforeEach(async () => { await io.rmRF(m2Dir); spyOSHomedir = jest.spyOn(os, 'homedir'); - spyOSHomedir.mockReturnValue(__dirname); + spyOSHomedir.mockReturnValue(tempDir); spyInfo = jest.spyOn(core, 'info'); spyInfo.mockImplementation(() => null); }, 300000); @@ -24,6 +25,7 @@ describe('toolchains tests', () => { afterAll(async () => { try { await io.rmRF(m2Dir); + await io.rmRF(tempDir); } catch { console.log('Failed to remove test directories'); } @@ -40,7 +42,7 @@ describe('toolchains tests', () => { jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64' }; - const altHome = path.join(__dirname, 'runner', 'toolchains'); + const altHome = path.join(tempDir, 'runner', 'toolchains'); const altToolchainsFile = path.join(altHome, MVN_TOOLCHAINS_FILE); await io.rmRF(altHome); // ensure it doesn't already exist From e987e880f9011632265fd85f08817b720eb3cacb Mon Sep 17 00:00:00 2001 From: Salman Muin Kayser Chishti Date: Fri, 8 Aug 2025 07:02:38 +0100 Subject: [PATCH 3/8] Fix tests and licences --- .github/workflows/basic-validation.yml | 2 +- .github/workflows/check-dist.yml | 2 +- .licenses/npm/@types/node.dep.yml | 2 +- .licenses/npm/undici-types.dep.yml | 6 ++-- .../distributors/adopt-installer.test.ts | 6 +--- __tests__/distributors/base-installer.test.ts | 6 +--- .../distributors/corretto-installer.test.ts | 22 +++++--------- .../distributors/graalvm-installer.test.ts | 29 +++++++++---------- .../distributors/liberica-installer.test.ts | 12 +++----- .../liberica-linux-installer.test.ts | 6 +--- .../liberica-windows-installer.test.ts | 6 +--- .../distributors/microsoft-installer.test.ts | 10 ++----- .../distributors/oracle-installer.test.ts | 6 +--- .../distributors/temurin-installer.test.ts | 6 +--- __tests__/distributors/zulu-installer.test.ts | 7 +---- .../distributors/zulu-linux-installer.test.ts | 10 +++---- .../zulu-windows-installer.test.ts | 6 +--- __tests__/toolchains.test.ts | 8 ++--- 18 files changed, 49 insertions(+), 103 deletions(-) diff --git a/.github/workflows/basic-validation.yml b/.github/workflows/basic-validation.yml index e93e5800..37fa323e 100644 --- a/.github/workflows/basic-validation.yml +++ b/.github/workflows/basic-validation.yml @@ -16,4 +16,4 @@ jobs: name: Basic validation uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main with: - node-version: '24.x' + node-version: '20.x' diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 90ef986a..509ea6cc 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -16,4 +16,4 @@ jobs: name: Check dist/ uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main with: - node-version: '24.x' + node-version: '20.x' diff --git a/.licenses/npm/@types/node.dep.yml b/.licenses/npm/@types/node.dep.yml index 06fb919d..86544f48 100644 --- a/.licenses/npm/@types/node.dep.yml +++ b/.licenses/npm/@types/node.dep.yml @@ -1,6 +1,6 @@ --- name: "@types/node" -version: 20.11.24 +version: 24.1.0 type: npm summary: TypeScript definitions for node homepage: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node diff --git a/.licenses/npm/undici-types.dep.yml b/.licenses/npm/undici-types.dep.yml index a65b8aff..370219bf 100644 --- a/.licenses/npm/undici-types.dep.yml +++ b/.licenses/npm/undici-types.dep.yml @@ -1,15 +1,17 @@ --- name: undici-types -version: 5.26.5 +version: 7.8.0 type: npm summary: A stand-alone types package for Undici homepage: https://undici.nodejs.org license: mit licenses: -- sources: Auto-generated MIT license text +- sources: LICENSE text: | MIT License + Copyright (c) Matteo Collina and Undici contributors + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights diff --git a/__tests__/distributors/adopt-installer.test.ts b/__tests__/distributors/adopt-installer.test.ts index 110b5cc3..eedf9484 100644 --- a/__tests__/distributors/adopt-installer.test.ts +++ b/__tests__/distributors/adopt-installer.test.ts @@ -8,10 +8,6 @@ import {JavaInstallerOptions} from '../../src/distributions/base-models'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/adopt.json'; describe('getAvailableVersions', () => { @@ -195,7 +191,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const installerOptions: JavaInstallerOptions = { version: '17', diff --git a/__tests__/distributors/base-installer.test.ts b/__tests__/distributors/base-installer.test.ts index acf9f0c2..08a95828 100644 --- a/__tests__/distributors/base-installer.test.ts +++ b/__tests__/distributors/base-installer.test.ts @@ -14,10 +14,6 @@ import { import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - class EmptyJavaBase extends JavaBase { constructor(installerOptions: JavaInstallerOptions) { super('Empty', installerOptions); @@ -291,7 +287,7 @@ describe('setupJava', () => { spyCoreSetOutput = jest.spyOn(core, 'setOutput'); spyCoreSetOutput.mockImplementation(() => undefined); - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture('x86')); + jest.spyOn(os, 'arch').mockReturnValue('x86' as ReturnType); }); afterEach(() => { diff --git a/__tests__/distributors/corretto-installer.test.ts b/__tests__/distributors/corretto-installer.test.ts index 059020f5..38a96481 100644 --- a/__tests__/distributors/corretto-installer.test.ts +++ b/__tests__/distributors/corretto-installer.test.ts @@ -6,10 +6,6 @@ import * as util from '../../src/util'; import os from 'os'; import {isGeneratorFunction} from 'util/types'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/corretto.json'; describe('getAvailableVersions', () => { @@ -207,28 +203,24 @@ describe('getAvailableVersions', () => { }); it.each([ - ['arm64', 'aarch64'], - ['amd64', 'x64'] + ['amd64', 'x64'], + ['arm64', 'aarch64'] ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); - const version = '17'; - const installerOptions: JavaInstallerOptions = { - version, + const distribution = new CorrettoDistribution({ + version: '17', architecture: '', // to get default value packageType: 'jdk', checkLatest: false - }; - - const distribution = new CorrettoDistribution(installerOptions); - mockPlatform(distribution, 'macos'); + }); const expectedLink = `https://corretto.aws/downloads/resources/17.0.2.8.1/amazon-corretto-17.0.2.8.1-macosx-${distroArch}.tar.gz`; const availableVersion = await distribution['findPackageForDownload']( - version + '17' ); expect(availableVersion).not.toBeNull(); expect(availableVersion.url).toBe(expectedLink); diff --git a/__tests__/distributors/graalvm-installer.test.ts b/__tests__/distributors/graalvm-installer.test.ts index 8c2ab52b..3c07d3f2 100644 --- a/__tests__/distributors/graalvm-installer.test.ts +++ b/__tests__/distributors/graalvm-installer.test.ts @@ -1,9 +1,5 @@ import {GraalVMDistribution} from '../../src/distributions/graalvm/installer'; import os from 'os'; - -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} import * as core from '@actions/core'; import {getDownloadArchiveExtension} from '../../src/util'; import {HttpClient} from '@actions/http-client'; @@ -102,31 +98,32 @@ describe('findPackageForDownload', () => { }); it.each([ - ['amd64', 'x64'], - ['arm64', 'aarch64'] + ['amd64', ['x64', 'amd64']], + ['arm64', ['aarch64', 'arm64']] ])( 'defaults to os.arch(): %s mapped to distro arch: %s', - async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); - jest.spyOn(os, 'platform').mockReturnValue('linux'); + async (osArch: string, distroArchs: string[]) => { + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); - const version = '21'; - const distro = new GraalVMDistribution({ - version, + const distribution = new GraalVMDistribution({ + version: '21', architecture: '', // to get default value packageType: 'jdk', checkLatest: false }); const osType = distribution.getPlatform(); - if (osType === 'windows' && distroArch == 'aarch64') { + if (osType === 'windows' && distroArchs.includes('aarch64')) { return; // skip, aarch64 is not available for Windows } const archiveType = getDownloadArchiveExtension(); - const result = await distro['findPackageForDownload'](version); - const expectedUrl = `https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_${osType}-${distroArch}_bin.${archiveType}`; + const result = await distribution['findPackageForDownload']('21'); - expect(result.url).toBe(expectedUrl); + const expectedUrls = distroArchs.map(distroArch => + `https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_${osType}-${distroArch}_bin.${archiveType}` + ); + + expect(expectedUrls).toContain(result.url); } ); diff --git a/__tests__/distributors/liberica-installer.test.ts b/__tests__/distributors/liberica-installer.test.ts index dada9223..25f6db05 100644 --- a/__tests__/distributors/liberica-installer.test.ts +++ b/__tests__/distributors/liberica-installer.test.ts @@ -6,10 +6,6 @@ import { import {HttpClient} from '@actions/http-client'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/liberica.json'; describe('getAvailableVersions', () => { @@ -109,9 +105,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); - const distribution = new LibericaDistributions({ + const distributions = new LibericaDistributions({ version: '17', architecture: '', // to get default value packageType: 'jdk', @@ -121,11 +117,11 @@ describe('getAvailableVersions', () => { const additionalParams = '&installation-type=archive&fields=downloadUrl%2Cversion%2CfeatureVersion%2CinterimVersion%2C' + 'updateVersion%2CbuildVersion'; - distribution['getPlatformOption'] = () => 'macos'; + distributions['getPlatformOption'] = () => 'macos'; const buildUrl = `https://api.bell-sw.com/v1/liberica/releases?os=macos&bundle-type=jdk&bitness=${distroArch.bitness}&arch=${distroArch.arch}&build-type=all${additionalParams}`; - await distribution['getAvailableVersions'](); + await distributions['getAvailableVersions'](); expect(spyHttpClient.mock.calls).toHaveLength(1); expect(spyHttpClient.mock.calls[0][0]).toBe(buildUrl); diff --git a/__tests__/distributors/liberica-linux-installer.test.ts b/__tests__/distributors/liberica-linux-installer.test.ts index a5511a12..6971f763 100644 --- a/__tests__/distributors/liberica-linux-installer.test.ts +++ b/__tests__/distributors/liberica-linux-installer.test.ts @@ -6,10 +6,6 @@ import { import {HttpClient} from '@actions/http-client'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/liberica-linux.json'; describe('getAvailableVersions', () => { @@ -109,7 +105,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/liberica-windows-installer.test.ts b/__tests__/distributors/liberica-windows-installer.test.ts index 1cbf18d2..38822a7f 100644 --- a/__tests__/distributors/liberica-windows-installer.test.ts +++ b/__tests__/distributors/liberica-windows-installer.test.ts @@ -6,10 +6,6 @@ import { import {HttpClient} from '@actions/http-client'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/liberica-windows.json'; describe('getAvailableVersions', () => { @@ -109,7 +105,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/microsoft-installer.test.ts b/__tests__/distributors/microsoft-installer.test.ts index ee526ff2..0c9f6022 100644 --- a/__tests__/distributors/microsoft-installer.test.ts +++ b/__tests__/distributors/microsoft-installer.test.ts @@ -1,9 +1,5 @@ import {MicrosoftDistributions} from '../../src/distributions/microsoft/installer'; import os from 'os'; - -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} import data from '../data/microsoft.json'; import * as httpm from '@actions/http-client'; import * as core from '@actions/core'; @@ -99,7 +95,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('darwin'); const version = '17'; @@ -123,7 +119,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '17'; @@ -147,7 +143,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('win32'); const version = '17'; diff --git a/__tests__/distributors/oracle-installer.test.ts b/__tests__/distributors/oracle-installer.test.ts index edb90b32..7211d8e6 100644 --- a/__tests__/distributors/oracle-installer.test.ts +++ b/__tests__/distributors/oracle-installer.test.ts @@ -1,9 +1,5 @@ import {OracleDistribution} from '../../src/distributions/oracle/installer'; import os from 'os'; - -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} import * as core from '@actions/core'; import {getDownloadArchiveExtension} from '../../src/util'; import {HttpClient} from '@actions/http-client'; @@ -99,7 +95,7 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '18'; diff --git a/__tests__/distributors/temurin-installer.test.ts b/__tests__/distributors/temurin-installer.test.ts index 0bdedaad..7aa19dca 100644 --- a/__tests__/distributors/temurin-installer.test.ts +++ b/__tests__/distributors/temurin-installer.test.ts @@ -1,9 +1,5 @@ import {HttpClient} from '@actions/http-client'; import os from 'os'; - -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} import { TemurinDistribution, TemurinImplementation @@ -151,7 +147,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(distroArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const installerOptions: JavaInstallerOptions = { version: '17', diff --git a/__tests__/distributors/zulu-installer.test.ts b/__tests__/distributors/zulu-installer.test.ts index 1b0fe449..99b9756e 100644 --- a/__tests__/distributors/zulu-installer.test.ts +++ b/__tests__/distributors/zulu-installer.test.ts @@ -1,14 +1,9 @@ import {HttpClient} from '@actions/http-client'; -import * as semver from 'semver'; import {ZuluDistribution} from '../../src/distributions/zulu/installer'; import {IZuluVersions} from '../../src/distributions/zulu/models'; import * as utils from '../../src/util'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/zulu-releases-default.json'; describe('getAvailableVersions', () => { @@ -130,7 +125,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/distributors/zulu-linux-installer.test.ts b/__tests__/distributors/zulu-linux-installer.test.ts index 946dbdda..9897e080 100644 --- a/__tests__/distributors/zulu-linux-installer.test.ts +++ b/__tests__/distributors/zulu-linux-installer.test.ts @@ -5,10 +5,6 @@ import {IZuluVersions} from '../../src/distributions/zulu/models'; import * as utils from '../../src/util'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/zulu-linux.json'; describe('getAvailableVersions', () => { @@ -130,7 +126,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const distribution = new ZuluDistribution({ version: '17', @@ -139,7 +135,9 @@ describe('getAvailableVersions', () => { checkLatest: false }); distribution['getPlatformOption'] = () => 'linux'; - const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?os=linux&ext=zip&bundle_type=jdk&javafx=false&arch=${distroArch.arch}&hw_bitness=${distroArch.bitness}&release_status=ga`; + // Override extension for linux default arch case to match util behavior + spyUtilGetDownloadArchiveExtension.mockReturnValue('tar.gz'); + const buildUrl = `https://api.azul.com/zulu/download/community/v1.0/bundles/?os=linux&ext=tar.gz&bundle_type=jdk&javafx=false&arch=${distroArch.arch}&hw_bitness=${distroArch.bitness}&release_status=ga`; await distribution['getAvailableVersions'](); diff --git a/__tests__/distributors/zulu-windows-installer.test.ts b/__tests__/distributors/zulu-windows-installer.test.ts index b8e802eb..e22f1488 100644 --- a/__tests__/distributors/zulu-windows-installer.test.ts +++ b/__tests__/distributors/zulu-windows-installer.test.ts @@ -5,10 +5,6 @@ import {IZuluVersions} from '../../src/distributions/zulu/models'; import * as utils from '../../src/util'; import os from 'os'; -function mockArchitecture(arch: string): NodeJS.Architecture { - return arch as NodeJS.Architecture; -} - import manifestData from '../data/zulu-windows.json'; describe('getAvailableVersions', () => { @@ -130,7 +126,7 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(mockArchitecture(osArch)); + jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/toolchains.test.ts b/__tests__/toolchains.test.ts index 6d4bea26..483077dc 100644 --- a/__tests__/toolchains.test.ts +++ b/__tests__/toolchains.test.ts @@ -6,8 +6,7 @@ import * as io from '@actions/io'; import * as toolchains from '../src/toolchains'; import {M2_DIR, MVN_TOOLCHAINS_FILE} from '../src/constants'; -const tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'setup-java-test-')); -const m2Dir = path.join(tempDir, M2_DIR); +const m2Dir = path.join(__dirname, M2_DIR); const toolchainsFile = path.join(m2Dir, MVN_TOOLCHAINS_FILE); describe('toolchains tests', () => { @@ -17,7 +16,7 @@ describe('toolchains tests', () => { beforeEach(async () => { await io.rmRF(m2Dir); spyOSHomedir = jest.spyOn(os, 'homedir'); - spyOSHomedir.mockReturnValue(tempDir); + spyOSHomedir.mockReturnValue(__dirname); spyInfo = jest.spyOn(core, 'info'); spyInfo.mockImplementation(() => null); }, 300000); @@ -25,7 +24,6 @@ describe('toolchains tests', () => { afterAll(async () => { try { await io.rmRF(m2Dir); - await io.rmRF(tempDir); } catch { console.log('Failed to remove test directories'); } @@ -42,7 +40,7 @@ describe('toolchains tests', () => { jdkHome: '/opt/hostedtoolcache/Java_Temurin-Hotspot_jdk/17.0.1-12/x64' }; - const altHome = path.join(tempDir, 'runner', 'toolchains'); + const altHome = path.join(__dirname, 'runner', 'toolchains'); const altToolchainsFile = path.join(altHome, MVN_TOOLCHAINS_FILE); await io.rmRF(altHome); // ensure it doesn't already exist From ec5db3550046cd13c2f81386be315651caef98ad Mon Sep 17 00:00:00 2001 From: Salman Muin Kayser Chishti Date: Fri, 8 Aug 2025 07:13:21 +0100 Subject: [PATCH 4/8] format --- __tests__/distributors/adopt-installer.test.ts | 4 +++- __tests__/distributors/corretto-installer.test.ts | 4 +++- __tests__/distributors/graalvm-installer.test.ts | 9 ++++++--- __tests__/distributors/liberica-installer.test.ts | 4 +++- .../distributors/liberica-linux-installer.test.ts | 4 +++- .../distributors/liberica-windows-installer.test.ts | 4 +++- __tests__/distributors/microsoft-installer.test.ts | 12 +++++++++--- __tests__/distributors/oracle-installer.test.ts | 4 +++- 8 files changed, 33 insertions(+), 12 deletions(-) diff --git a/__tests__/distributors/adopt-installer.test.ts b/__tests__/distributors/adopt-installer.test.ts index eedf9484..0b35c3d3 100644 --- a/__tests__/distributors/adopt-installer.test.ts +++ b/__tests__/distributors/adopt-installer.test.ts @@ -191,7 +191,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const installerOptions: JavaInstallerOptions = { version: '17', diff --git a/__tests__/distributors/corretto-installer.test.ts b/__tests__/distributors/corretto-installer.test.ts index 38a96481..524a7811 100644 --- a/__tests__/distributors/corretto-installer.test.ts +++ b/__tests__/distributors/corretto-installer.test.ts @@ -208,7 +208,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new CorrettoDistribution({ version: '17', diff --git a/__tests__/distributors/graalvm-installer.test.ts b/__tests__/distributors/graalvm-installer.test.ts index 3c07d3f2..479f3452 100644 --- a/__tests__/distributors/graalvm-installer.test.ts +++ b/__tests__/distributors/graalvm-installer.test.ts @@ -103,7 +103,9 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArchs: string[]) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new GraalVMDistribution({ version: '21', @@ -119,8 +121,9 @@ describe('findPackageForDownload', () => { const archiveType = getDownloadArchiveExtension(); const result = await distribution['findPackageForDownload']('21'); - const expectedUrls = distroArchs.map(distroArch => - `https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_${osType}-${distroArch}_bin.${archiveType}` + const expectedUrls = distroArchs.map( + distroArch => + `https://download.oracle.com/graalvm/21/latest/graalvm-jdk-21_${osType}-${distroArch}_bin.${archiveType}` ); expect(expectedUrls).toContain(result.url); diff --git a/__tests__/distributors/liberica-installer.test.ts b/__tests__/distributors/liberica-installer.test.ts index 25f6db05..5e664d5f 100644 --- a/__tests__/distributors/liberica-installer.test.ts +++ b/__tests__/distributors/liberica-installer.test.ts @@ -105,7 +105,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distributions = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/liberica-linux-installer.test.ts b/__tests__/distributors/liberica-linux-installer.test.ts index 6971f763..58c4e478 100644 --- a/__tests__/distributors/liberica-linux-installer.test.ts +++ b/__tests__/distributors/liberica-linux-installer.test.ts @@ -105,7 +105,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/liberica-windows-installer.test.ts b/__tests__/distributors/liberica-windows-installer.test.ts index 38822a7f..22d28741 100644 --- a/__tests__/distributors/liberica-windows-installer.test.ts +++ b/__tests__/distributors/liberica-windows-installer.test.ts @@ -105,7 +105,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new LibericaDistributions({ version: '17', diff --git a/__tests__/distributors/microsoft-installer.test.ts b/__tests__/distributors/microsoft-installer.test.ts index 0c9f6022..3e22b902 100644 --- a/__tests__/distributors/microsoft-installer.test.ts +++ b/__tests__/distributors/microsoft-installer.test.ts @@ -95,7 +95,9 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('darwin'); const version = '17'; @@ -119,7 +121,9 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '17'; @@ -143,7 +147,9 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('win32'); const version = '17'; diff --git a/__tests__/distributors/oracle-installer.test.ts b/__tests__/distributors/oracle-installer.test.ts index 7211d8e6..226eca90 100644 --- a/__tests__/distributors/oracle-installer.test.ts +++ b/__tests__/distributors/oracle-installer.test.ts @@ -95,7 +95,9 @@ describe('findPackageForDownload', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); jest.spyOn(os, 'platform').mockReturnValue('linux'); const version = '18'; From 9f659154946fe68dcf05006a7e5acf3e15c8980c Mon Sep 17 00:00:00 2001 From: Salman Muin Kayser Chishti Date: Fri, 8 Aug 2025 07:13:26 +0100 Subject: [PATCH 5/8] format x2 --- __tests__/distributors/temurin-installer.test.ts | 4 +++- __tests__/distributors/zulu-installer.test.ts | 4 +++- __tests__/distributors/zulu-linux-installer.test.ts | 4 +++- __tests__/distributors/zulu-windows-installer.test.ts | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/__tests__/distributors/temurin-installer.test.ts b/__tests__/distributors/temurin-installer.test.ts index 7aa19dca..f540901e 100644 --- a/__tests__/distributors/temurin-installer.test.ts +++ b/__tests__/distributors/temurin-installer.test.ts @@ -147,7 +147,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: string) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const installerOptions: JavaInstallerOptions = { version: '17', diff --git a/__tests__/distributors/zulu-installer.test.ts b/__tests__/distributors/zulu-installer.test.ts index 99b9756e..100429b3 100644 --- a/__tests__/distributors/zulu-installer.test.ts +++ b/__tests__/distributors/zulu-installer.test.ts @@ -125,7 +125,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/distributors/zulu-linux-installer.test.ts b/__tests__/distributors/zulu-linux-installer.test.ts index 9897e080..a25344cb 100644 --- a/__tests__/distributors/zulu-linux-installer.test.ts +++ b/__tests__/distributors/zulu-linux-installer.test.ts @@ -126,7 +126,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new ZuluDistribution({ version: '17', diff --git a/__tests__/distributors/zulu-windows-installer.test.ts b/__tests__/distributors/zulu-windows-installer.test.ts index e22f1488..a3511ac9 100644 --- a/__tests__/distributors/zulu-windows-installer.test.ts +++ b/__tests__/distributors/zulu-windows-installer.test.ts @@ -126,7 +126,9 @@ describe('getAvailableVersions', () => { ])( 'defaults to os.arch(): %s mapped to distro arch: %s', async (osArch: string, distroArch: DistroArch) => { - jest.spyOn(os, 'arch').mockReturnValue(osArch as ReturnType); + jest + .spyOn(os, 'arch') + .mockReturnValue(osArch as ReturnType); const distribution = new ZuluDistribution({ version: '17', From 4f5bea927ed70844dc6e9ae4a30f4bfb0f478997 Mon Sep 17 00:00:00 2001 From: Salman Muin Kayser Chishti Date: Fri, 8 Aug 2025 07:29:50 +0100 Subject: [PATCH 6/8] Upgrade Node.js version in workflow files to 24.x --- .github/workflows/basic-validation.yml | 2 +- .github/workflows/check-dist.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/basic-validation.yml b/.github/workflows/basic-validation.yml index 37fa323e..e93e5800 100644 --- a/.github/workflows/basic-validation.yml +++ b/.github/workflows/basic-validation.yml @@ -16,4 +16,4 @@ jobs: name: Basic validation uses: actions/reusable-workflows/.github/workflows/basic-validation.yml@main with: - node-version: '20.x' + node-version: '24.x' diff --git a/.github/workflows/check-dist.yml b/.github/workflows/check-dist.yml index 509ea6cc..90ef986a 100644 --- a/.github/workflows/check-dist.yml +++ b/.github/workflows/check-dist.yml @@ -16,4 +16,4 @@ jobs: name: Check dist/ uses: actions/reusable-workflows/.github/workflows/check-dist.yml@main with: - node-version: '20.x' + node-version: '24.x' From f60809db2505ca0d19e104e78aee0eca82911346 Mon Sep 17 00:00:00 2001 From: Aparna Jyothi Date: Tue, 19 Aug 2025 16:06:11 +0530 Subject: [PATCH 7/8] check failure fix --- .github/workflows/e2e-cache.yml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/e2e-cache.yml b/.github/workflows/e2e-cache.yml index bc685ec0..98184052 100644 --- a/.github/workflows/e2e-cache.yml +++ b/.github/workflows/e2e-cache.yml @@ -30,7 +30,7 @@ jobs: id: setup-java with: distribution: 'adopt' - java-version: '11' + java-version: '17' cache: gradle - name: Create files to cache # Need to avoid using Gradle daemon to stabilize the save process on Windows diff --git a/package-lock.json b/package-lock.json index 89bde9fe..336c19e7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "setup-java", - "version": "4.0.0", + "version": "5.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "setup-java", - "version": "4.0.0", + "version": "5.0.0", "license": "MIT", "dependencies": { "@actions/cache": "^4.0.3", diff --git a/package.json b/package.json index aafcde95..bccf0321 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "setup-java", - "version": "4.0.0", + "version": "5.0.0", "private": true, "description": "setup java action", "main": "dist/setup/index.js", From 09fb09208a88ef6d4a55e71e895bdf91bf791924 Mon Sep 17 00:00:00 2001 From: Aparna Jyothi Date: Tue, 19 Aug 2025 16:14:48 +0530 Subject: [PATCH 8/8] check failures fix --- .github/workflows/e2e-cache-dependency-path.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/e2e-cache-dependency-path.yml b/.github/workflows/e2e-cache-dependency-path.yml index f276ef31..5566165f 100644 --- a/.github/workflows/e2e-cache-dependency-path.yml +++ b/.github/workflows/e2e-cache-dependency-path.yml @@ -30,7 +30,7 @@ jobs: id: setup-java with: distribution: 'adopt' - java-version: '11' + java-version: '17' cache: gradle cache-dependency-path: __tests__/cache/gradle1/*.gradle* - name: Create files to cache