From 6df87edb46369cf15891be0920f10057e883eac1 Mon Sep 17 00:00:00 2001
From: panticmilos <panticmilos@github.com>
Date: Tue, 6 Dec 2022 14:57:47 +0100
Subject: [PATCH] Cover edge cases when version doesnt exist

---
 dist/setup/index.js | 5 +++--
 src/installer.ts    | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/dist/setup/index.js b/dist/setup/index.js
index b7bc811..0294fdf 100644
--- a/dist/setup/index.js
+++ b/dist/setup/index.js
@@ -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, undefined, arch, fixedCandidates);
+            versionSpec = yield resolveStableVersionInput(versionSpec, undefined, archFilter, fixedCandidates);
         }
         let goFile;
         for (let i = 0; i < candidates.length; i++) {
@@ -63480,6 +63480,7 @@ function parseGoVersionFile(versionFilePath) {
 }
 exports.parseGoVersionFile = parseGoVersionFile;
 function resolveStableVersionInput(versionSpec, auth, arch = os_1.default.arch(), manifest) {
+    var _a;
     return __awaiter(this, void 0, void 0, function* () {
         if (!manifest) {
             core.debug('No manifest cached');
@@ -63496,7 +63497,7 @@ function resolveStableVersionInput(versionSpec, auth, arch = os_1.default.arch()
             .filter(item => !!item);
         if (versionSpec === utils_1.StableReleaseAlias.Stable) {
             core.info(`stable version resolved as ${releases[0]}`);
-            return releases[0];
+            return (_a = releases[0]) !== null && _a !== void 0 ? _a : versionSpec;
         }
         else {
             const versions = releases.map(release => `${semver.major(release)}.${semver.minor(release)}`);
diff --git a/src/installer.ts b/src/installer.ts
index fdcfd81..816f135 100644
--- a/src/installer.ts
+++ b/src/installer.ts
@@ -277,7 +277,7 @@ export async function findMatch(
     versionSpec = await resolveStableVersionInput(
       versionSpec,
       undefined,
-      arch,
+      archFilter,
       fixedCandidates
     );
   }
@@ -394,7 +394,7 @@ export async function resolveStableVersionInput(
   if (versionSpec === StableReleaseAlias.Stable) {
     core.info(`stable version resolved as ${releases[0]}`);
 
-    return releases[0];
+    return releases[0] ?? versionSpec;
   } else {
     const versions = releases.map(
       release => `${semver.major(release)}.${semver.minor(release)}`