Add more error handling

This commit is contained in:
Justin Hutchings
2024-03-03 01:34:03 +00:00
parent b2ddac1749
commit 72d5b06a68
3 changed files with 44 additions and 31 deletions
Generated Vendored
+18 -13
View File
@@ -1002,17 +1002,22 @@ function getScorecardLevels(changes) {
return __awaiter(this, void 0, void 0, function* () { return __awaiter(this, void 0, void 0, function* () {
const data = { dependencies: [] }; const data = { dependencies: [] };
for (const change of changes) { for (const change of changes) {
const purl = packageurl_js_1.PackageURL.fromString(change.package_url); try {
const ecosystem = purl.type; const purl = packageurl_js_1.PackageURL.fromString(change.package_url);
const packageName = purl.name; const ecosystem = purl.type;
const version = purl.version; const packageName = purl.name;
data.dependencies.push({ const version = purl.version;
purl: purl, data.dependencies.push({
ecosystem: ecosystem, purl: purl,
packageName: packageName, ecosystem: ecosystem,
version: version, packageName: packageName,
depsDevData: yield getDepsDevData(ecosystem, packageName, version) version: version,
}); depsDevData: yield getDepsDevData(ecosystem, packageName, version)
});
}
catch (error) {
core.debug(`Error parsing package url: ${error.message}`);
}
} }
return data; return data;
}); });
@@ -1037,7 +1042,7 @@ function getDepsDevData(ecosystem, packageName, version) {
} }
} }
catch (error) { catch (error) {
core.error(`Error fetching data: ${error.message}`); core.debug(`Error fetching data: ${error.message}`);
} }
return {}; return {};
}); });
@@ -1057,7 +1062,7 @@ function getDepsDevProjectData(projectKeyId) {
} }
} }
catch (error) { catch (error) {
core.error(`Error fetching project data: ${error.message}`); core.debug(`Error fetching project data: ${error.message}`);
} }
return {}; return {};
}); });
Generated Vendored
+1 -1
View File
File diff suppressed because one or more lines are too long
+24 -16
View File
@@ -6,20 +6,24 @@ import * as core from '@actions/core'
export async function getScorecardLevels(changes: Change[]): Promise<object> { export async function getScorecardLevels(changes: Change[]): Promise<object> {
const data: any = {dependencies: []} const data: any = {dependencies: []}
for (const change of changes) { for (const change of changes) {
const purl = PackageURL.fromString(change.package_url) try {
const ecosystem = purl.type const purl = PackageURL.fromString(change.package_url)
const packageName = purl.name const ecosystem = purl.type
const version = purl.version const packageName = purl.name
const version = purl.version
data.dependencies.push({ data.dependencies.push({
purl: purl, purl: purl,
ecosystem: ecosystem, ecosystem: ecosystem,
packageName: packageName, packageName: packageName,
version: version, version: version,
depsDevData: await getDepsDevData(ecosystem, packageName, version) depsDevData: await getDepsDevData(ecosystem, packageName, version)
}) })
} catch (error: any) {
core.debug(`Error parsing package url: ${error.message}`)
}
} }
return data; return data
} }
const depsDevAPIRoot = 'https://api.deps.dev' const depsDevAPIRoot = 'https://api.deps.dev'
@@ -40,10 +44,12 @@ async function getDepsDevData(
return await getDepsDevProjectData(project.projectKey.id) return await getDepsDevProjectData(project.projectKey.id)
} }
} else { } else {
throw new Error(`Failed to fetch data with status code: ${response.status}`) throw new Error(
`Failed to fetch data with status code: ${response.status}`
)
} }
} catch (error: any) { } catch (error: any) {
core.error(`Error fetching data: ${error.message}`) core.debug(`Error fetching data: ${error.message}`)
} }
return {} return {}
} }
@@ -57,10 +63,12 @@ async function getDepsDevProjectData(projectKeyId: string): Promise<object> {
const data = await response.json() const data = await response.json()
return data return data
} else { } else {
throw new Error(`Failed to fetch project data with status code: ${response.status}`) throw new Error(
`Failed to fetch project data with status code: ${response.status}`
)
} }
} catch (error: any) { } catch (error: any) {
core.error(`Error fetching project data: ${error.message}`) core.debug(`Error fetching project data: ${error.message}`)
} }
return {} return {}
} }