From 1f4d6b348901f3b174372fa9a6eac75e1991ffb6 Mon Sep 17 00:00:00 2001 From: jmjaffe37 Date: Wed, 1 Jul 2026 11:53:42 -0700 Subject: [PATCH] Removed extra alpine logic --- __tests__/data/microsoft.json | 49 -------------- .../distributors/microsoft-installer.test.ts | 29 --------- dist/setup/index.js | 39 +---------- src/distributions/microsoft/installer.ts | 64 +------------------ 4 files changed, 2 insertions(+), 179 deletions(-) diff --git a/__tests__/data/microsoft.json b/__tests__/data/microsoft.json index 6cba3a2b..b67b9447 100644 --- a/__tests__/data/microsoft.json +++ b/__tests__/data/microsoft.json @@ -122,55 +122,6 @@ } ] }, - { - "version": "17.0.9", - "stable": true, - "release_url": "https://aka.ms/download-jdk", - "files": [ - { - "filename": "microsoft-jdk-17.0.9-macos-x64.tar.gz", - "arch": "x64", - "platform": "darwin", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-macos-x64.tar.gz" - }, - { - "filename": "microsoft-jdk-17.0.9-linux-x64.tar.gz", - "arch": "x64", - "platform": "linux", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-linux-x64.tar.gz" - }, - { - "filename": "microsoft-jdk-17.0.9-windows-x64.zip", - "arch": "x64", - "platform": "win32", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-windows-x64.zip" - }, - { - "filename": "microsoft-jdk-17.0.9-alpine-x64.tar.gz", - "arch": "x64", - "platform": "alpine", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-alpine-x64.tar.gz" - }, - { - "filename": "microsoft-jdk-17.0.9-macos-aarch64.tar.gz", - "arch": "aarch64", - "platform": "darwin", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-macos-aarch64.tar.gz" - }, - { - "filename": "microsoft-jdk-17.0.9-linux-aarch64.tar.gz", - "arch": "aarch64", - "platform": "linux", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-linux-aarch64.tar.gz" - }, - { - "filename": "microsoft-jdk-17.0.9-windows-aarch64.zip", - "arch": "aarch64", - "platform": "win32", - "download_url": "https://aka.ms/download-jdk/microsoft-jdk-17.0.9-windows-aarch64.zip" - } - ] - }, { "version": "17.0.7", "stable": true, diff --git a/__tests__/distributors/microsoft-installer.test.ts b/__tests__/distributors/microsoft-installer.test.ts index 977f6e61..d2527f6f 100644 --- a/__tests__/distributors/microsoft-installer.test.ts +++ b/__tests__/distributors/microsoft-installer.test.ts @@ -196,35 +196,6 @@ describe('findPackageForDownload', () => { ); }); - it('prefers Alpine package when running on Alpine and requesting JDK 17', async () => { - jest.spyOn(distribution as any, 'isRunningOnAlpine').mockReturnValue(true); - - const result = await distribution['findPackageForDownload']('17.0.9'); - - expect(result.version).toBe('17.0.9'); - expect(result.url).toBe( - 'https://aka.ms/download-jdk/microsoft-jdk-17.0.9-alpine-x64.tar.gz' - ); - expect(result.signatureUrl).toBe( - 'https://aka.ms/download-jdk/microsoft-jdk-17.0.9-alpine-x64.tar.gz.sig' - ); - }); - - it('falls back to generic linux manifest matching for unsupported major streams on Alpine', async () => { - jest.spyOn(distribution as any, 'isRunningOnAlpine').mockReturnValue(true); - jest.spyOn(os, 'platform').mockReturnValue('linux'); - - const result = await distribution['findPackageForDownload']('21.x'); - - expect(result.version).toBe('21.0.0'); - expect(result.url).toBe( - 'https://aka.ms/download-jdk/microsoft-jdk-21.0.0-linux-x64.tar.gz' - ); - expect(result.signatureUrl).toBe( - 'https://aka.ms/download-jdk/microsoft-jdk-21.0.0-linux-x64.tar.gz.sig' - ); - }); - it('uses manifest-provided signature URL when available', async () => { spyGetManifestFromRepo.mockReturnValue({ result: [ diff --git a/dist/setup/index.js b/dist/setup/index.js index f088d583..f40f5bab 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -79932,7 +79932,6 @@ const core = __importStar(__nccwpck_require__(37484)); const tc = __importStar(__nccwpck_require__(33472)); const fs_1 = __importDefault(__nccwpck_require__(79896)); const path_1 = __importDefault(__nccwpck_require__(16928)); -const semver_1 = __importDefault(__nccwpck_require__(62088)); var microsoft_key_2 = __nccwpck_require__(56286); Object.defineProperty(exports, "MICROSOFT_PUBLIC_KEY", ({ enumerable: true, get: function () { return microsoft_key_2.MICROSOFT_PUBLIC_KEY; } })); class MicrosoftDistributions extends base_installer_1.JavaBase { @@ -79985,21 +79984,7 @@ class MicrosoftDistributions extends base_installer_1.JavaBase { if (!manifest) { throw new Error('Could not load manifest for Microsoft Build of OpenJDK'); } - let foundRelease; - if (this.isRunningOnAlpine() && this.isAlpineSupportedVersion(range)) { - foundRelease = this.findFromManifestForPlatform(range, manifest, arch, 'alpine'); - if (foundRelease) { - core.debug(`Resolved Alpine package for Microsoft OpenJDK ${range}`); - } - } - else if (this.isRunningOnAlpine()) { - core.debug(`No Alpine package found for Microsoft OpenJDK ${range}, defaulting to standard linux package`); - } - // Runs if user is not running on alpine, or if no Alpine package was found - if (!foundRelease) { - foundRelease = yield tc.findFromManifest(range, true, manifest, arch); - } - // Runs if failed to find any matching package + const foundRelease = yield tc.findFromManifest(range, true, manifest, arch); if (!foundRelease) { const availableVersionStrings = manifest.map(item => item.version); throw this.createVersionNotFoundError(range, availableVersionStrings); @@ -80013,28 +79998,6 @@ class MicrosoftDistributions extends base_installer_1.JavaBase { }; }); } - findFromManifestForPlatform(range, manifest, arch, platform) { - const matched = manifest - .filter(release => release.stable) - .filter(release => (0, util_1.isVersionSatisfies)(range, release.version)) - .map(release => { - const matchedFile = release.files.find((file) => file.arch === arch && file.platform === platform); - if (!matchedFile) { - return null; - } - return Object.assign(Object.assign({}, release), { files: [matchedFile] }); - }) - .filter((release) => release !== null) - .sort((a, b) => -semver_1.default.compareBuild(a.version, b.version)); - return matched[0]; - } - isAlpineSupportedVersion(range) { - const minVersion = semver_1.default.minVersion(range); - return !!minVersion && (minVersion.major === 11 || minVersion.major === 17); - } - isRunningOnAlpine() { - return process.platform === 'linux' && fs_1.default.existsSync('/etc/alpine-release'); - } supportsSignatureVerification() { return true; } diff --git a/src/distributions/microsoft/installer.ts b/src/distributions/microsoft/installer.ts index b7c5262a..a989e4ab 100644 --- a/src/distributions/microsoft/installer.ts +++ b/src/distributions/microsoft/installer.ts @@ -8,7 +8,6 @@ import { extractJdkFile, getDownloadArchiveExtension, getGitHubHttpHeaders, - isVersionSatisfies, renameWinArchive } from '../../util'; import * as gpg from '../../gpg'; @@ -17,7 +16,6 @@ import * as core from '@actions/core'; import * as tc from '@actions/tool-cache'; import fs from 'fs'; import path from 'path'; -import semver from 'semver'; import {TypedResponse} from '@actions/http-client/lib/interfaces'; export {MICROSOFT_PUBLIC_KEY} from './microsoft-key'; @@ -99,30 +97,8 @@ export class MicrosoftDistributions extends JavaBase { throw new Error('Could not load manifest for Microsoft Build of OpenJDK'); } - let foundRelease: tc.IToolRelease | undefined; + const foundRelease = await tc.findFromManifest(range, true, manifest, arch); - if (this.isRunningOnAlpine() && this.isAlpineSupportedVersion(range)) { - foundRelease = this.findFromManifestForPlatform( - range, - manifest, - arch, - 'alpine' - ); - if (foundRelease) { - core.debug(`Resolved Alpine package for Microsoft OpenJDK ${range}`); - } - } else if (this.isRunningOnAlpine()) { - core.debug( - `No Alpine package found for Microsoft OpenJDK ${range}, defaulting to standard linux package` - ); - } - - // Runs if user is not running on alpine, or if no Alpine package was found - if (!foundRelease) { - foundRelease = await tc.findFromManifest(range, true, manifest, arch); - } - - // Runs if failed to find any matching package if (!foundRelease) { const availableVersionStrings = manifest.map(item => item.version); throw this.createVersionNotFoundError(range, availableVersionStrings); @@ -141,44 +117,6 @@ export class MicrosoftDistributions extends JavaBase { }; } - private findFromManifestForPlatform( - range: string, - manifest: tc.IToolRelease[], - arch: string, - platform: string - ): tc.IToolRelease | undefined { - const matched = manifest - .filter(release => release.stable) - .filter(release => isVersionSatisfies(range, release.version)) - .map(release => { - const matchedFile = release.files.find( - (file: tc.IToolReleaseFile) => - file.arch === arch && file.platform === platform - ); - if (!matchedFile) { - return null; - } - - return { - ...release, - files: [matchedFile] - }; - }) - .filter((release): release is tc.IToolRelease => release !== null) - .sort((a, b) => -semver.compareBuild(a.version, b.version)); - - return matched[0]; - } - - private isAlpineSupportedVersion(range: string): boolean { - const minVersion = semver.minVersion(range); - return !!minVersion && (minVersion.major === 11 || minVersion.major === 17); - } - - private isRunningOnAlpine(): boolean { - return process.platform === 'linux' && fs.existsSync('/etc/alpine-release'); - } - protected supportsSignatureVerification(): boolean { return true; }