5
0
mirror of https://github.com/astral-sh/setup-uv.git synced 2025-12-09 11:01:17 +00:00

Improve error messages on GitHub API errors (#518)

Fixes: #513
This commit is contained in:
Kevin Stillhammer
2025-08-12 22:50:05 +02:00
committed by GitHub
parent e5d42a2b46
commit d9e0f98d3f
4 changed files with 50 additions and 14 deletions

3
.vscode/extensions.json vendored Normal file
View File

@@ -0,0 +1,3 @@
{
"recommendations": ["biomejs.biome"]
}

16
.vscode/settings.json vendored Normal file
View File

@@ -0,0 +1,16 @@
{
"editor.codeActionsOnSave": {
"source.action.useSortedAttributes.biome": "explicit",
"source.action.useSortedKeys.biome": "explicit",
"source.fixAll.biome": "explicit"
},
"editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true,
"explorer.excludeGitIgnore": false,
"search.defaultViewMode": "list",
"search.exclude": {
"**/node_modules": true
},
"typescript.enablePromptUseWorkspaceTsdk": true,
"typescript.tsdk": "node_modules/typescript/lib"
}

19
dist/setup/index.js generated vendored
View File

@@ -126195,7 +126195,11 @@ async function getReleaseTagNames(octokit) {
owner: constants_1.OWNER,
repo: constants_1.REPO,
});
return response.map((release) => release.tag_name);
const releaseTagNames = response.map((release) => release.tag_name);
if (releaseTagNames.length === 0) {
throw Error("Github API request failed while getting releases. Check the GitHub status page for outages. Try again later.");
}
return releaseTagNames;
}
async function getLatestVersion(githubToken) {
core.debug("Getting latest version...");
@@ -126207,12 +126211,15 @@ async function getLatestVersion(githubToken) {
latestRelease = await getLatestRelease(octokit);
}
catch (err) {
core.info("No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.");
if (err instanceof Error) {
core.debug(err.message);
if (err.message.includes("Bad credentials")) {
core.info("No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.");
const octokit = new octokit_1.Octokit();
latestRelease = await getLatestRelease(octokit);
}
else {
core.error("Github API request failed while getting latest release. Check the GitHub status page for outages. Try again later.");
throw err;
}
const octokit = new octokit_1.Octokit();
latestRelease = await getLatestRelease(octokit);
}
if (!latestRelease) {
throw new Error("Could not determine latest release.");

View File

@@ -184,7 +184,13 @@ async function getReleaseTagNames(
owner: OWNER,
repo: REPO,
});
return response.map((release) => release.tag_name);
const releaseTagNames = response.map((release) => release.tag_name);
if (releaseTagNames.length === 0) {
throw Error(
"Github API request failed while getting releases. Check the GitHub status page for outages. Try again later.",
);
}
return releaseTagNames;
}
async function getLatestVersion(githubToken: string) {
@@ -197,14 +203,18 @@ async function getLatestVersion(githubToken: string) {
try {
latestRelease = await getLatestRelease(octokit);
} catch (err) {
core.info(
"No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.",
);
if (err instanceof Error) {
core.debug(err.message);
if ((err as Error).message.includes("Bad credentials")) {
core.info(
"No (valid) GitHub token provided. Falling back to anonymous. Requests might be rate limited.",
);
const octokit = new Octokit();
latestRelease = await getLatestRelease(octokit);
} else {
core.error(
"Github API request failed while getting latest release. Check the GitHub status page for outages. Try again later.",
);
throw err;
}
const octokit = new Octokit();
latestRelease = await getLatestRelease(octokit);
}
if (!latestRelease) {