From 3eeab9dd6de46eda218c479c5ed9289cfaad092c Mon Sep 17 00:00:00 2001 From: panticmilos Date: Wed, 7 Dec 2022 12:14:57 +0100 Subject: [PATCH] Include platform filter for aliases --- dist/setup/index.js | 8 ++++---- src/installer.ts | 18 +++++++++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index e056c65..504e96f 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -63234,7 +63234,7 @@ function getGo(versionSpec, checkLatest, auth, arch = os_1.default.arch()) { if (versionSpec === utils_1.StableReleaseAlias.Stable || versionSpec === utils_1.StableReleaseAlias.OldStable) { manifest = yield getManifest(auth); - versionSpec = yield resolveStableVersionInput(versionSpec, arch, manifest); + versionSpec = yield resolveStableVersionInput(versionSpec, arch, osPlat, manifest); } if (checkLatest) { core.info('Attempting to resolve the latest version from the manifest...'); @@ -63405,7 +63405,7 @@ function findMatch(versionSpec, arch = os_1.default.arch()) { const fixedCandidates = candidates.map(item => { return Object.assign(Object.assign({}, item), { version: makeSemver(item.version) }); }); - versionSpec = yield resolveStableVersionInput(versionSpec, archFilter, fixedCandidates); + versionSpec = yield resolveStableVersionInput(versionSpec, archFilter, platFilter, fixedCandidates); } let goFile; for (let i = 0; i < candidates.length; i++) { @@ -63479,12 +63479,12 @@ function parseGoVersionFile(versionFilePath) { return contents.trim(); } exports.parseGoVersionFile = parseGoVersionFile; -function resolveStableVersionInput(versionSpec, arch = os_1.default.arch(), manifest) { +function resolveStableVersionInput(versionSpec, arch = os_1.default.arch(), platform, manifest) { var _a; return __awaiter(this, void 0, void 0, function* () { const releases = manifest .map(item => { - const index = item.files.findIndex(item => item.arch === arch); + const index = item.files.findIndex(item => item.arch === arch && item.filename.includes(platform)); if (index === -1) { return ''; } diff --git a/src/installer.ts b/src/installer.ts index 99f9930..f35a2b5 100644 --- a/src/installer.ts +++ b/src/installer.ts @@ -44,7 +44,12 @@ export async function getGo( versionSpec === StableReleaseAlias.OldStable ) { manifest = await getManifest(auth); - versionSpec = await resolveStableVersionInput(versionSpec, arch, manifest); + versionSpec = await resolveStableVersionInput( + versionSpec, + arch, + osPlat, + manifest + ); } if (checkLatest) { @@ -267,11 +272,15 @@ export async function findMatch( versionSpec === StableReleaseAlias.OldStable ) { const fixedCandidates = candidates.map(item => { - return {...item, version: makeSemver(item.version)}; + return { + ...item, + version: makeSemver(item.version) + }; }); versionSpec = await resolveStableVersionInput( versionSpec, archFilter, + platFilter, fixedCandidates ); } @@ -367,11 +376,14 @@ export function parseGoVersionFile(versionFilePath: string): string { export async function resolveStableVersionInput( versionSpec: string, arch = os.arch(), + platform: string, manifest: tc.IToolRelease[] | IGoVersion[] ): Promise { const releases = manifest .map(item => { - const index = item.files.findIndex(item => item.arch === arch); + const index = item.files.findIndex( + item => item.arch === arch && item.filename.includes(platform) + ); if (index === -1) { return ''; }