diff --git a/action.yml b/action.yml index b6bd5089..7380f269 100644 --- a/action.yml +++ b/action.yml @@ -14,11 +14,17 @@ inputs: filename: description: Name of SVG image output default: github-metrics.svg + plugin_pagespeed: + description: Enable Pagespeed metrics for user's website (requires "pagespeed_token" to be provided) + default: no pagespeed_token: description: Pagespeed Personal Token (optional, see https://developers.google.com/speed/docs/insights/v5/get-started for more information) - plugins: - description: List of additional plugins to enabled. Supported values are "lines", "pagespeed" (requires "pagespeed_token") and "traffic" (require "token" with "repository" permissions) - default: [] + plugin_lines: + description: Enable repositories lines metrics + default: no + plugin_traffic: + description: Enable repositories traffic metrics (due to GitHub API limitations, "token" must have "repo" permissions) + default: no runs: using: node12 main: action/dist/index.js \ No newline at end of file diff --git a/action/dist/index.js b/action/dist/index.js index 2ca958bd..d233b078 100644 --- a/action/dist/index.js +++ b/action/dist/index.js @@ -541,13 +541,17 @@ __webpack_require__.r(__webpack_exports__); const rest = github.getOctokit(token) //Additional plugins - const enabled = new Set(core.getInput("plugins", {default:[]})) - const plugins = {lines:{enabled:enabled.has("lines")}, traffic:{enabled:enabled.has("traffic")}, pagespeed:{enabled:enabled.has("pagespeed")}} + const plugins = { + lines:{enabled:core.getInput("plugin_lines", {default:false})}, + traffic:{enabled:core.getInput("plugin_traffic", {default:false})}, + pagespeed:{enabled:core.getInput("plugin_pagespeed", {default:false})}, + } if (core.getInput("pagespeed_token")) { console.log(`Pagespeed token | provided`) plugins.pagespeed.token = core.getInput("pagespeed_token") } const q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true])) + console.log(`Plugins enabled | ${Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => key).join(", ")}`) //Render metrics const rendered = await metrics({login:user, q}, {template, style, query, graphql, plugins}) diff --git a/action/index.mjs b/action/index.mjs index 5e85854a..d9d5e2f7 100644 --- a/action/index.mjs +++ b/action/index.mjs @@ -30,13 +30,17 @@ const rest = github.getOctokit(token) //Additional plugins - const enabled = new Set(core.getInput("plugins", {default:[]})) - const plugins = {lines:{enabled:enabled.has("lines")}, traffic:{enabled:enabled.has("traffic")}, pagespeed:{enabled:enabled.has("pagespeed")}} + const plugins = { + lines:{enabled:core.getInput("plugin_lines", {default:false})}, + traffic:{enabled:core.getInput("plugin_traffic", {default:false})}, + pagespeed:{enabled:core.getInput("plugin_pagespeed", {default:false})}, + } if (core.getInput("pagespeed_token")) { console.log(`Pagespeed token | provided`) plugins.pagespeed.token = core.getInput("pagespeed_token") } const q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true])) + console.log(`Plugins enabled | ${Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => key).join(", ")}`) //Render metrics const rendered = await metrics({login:user, q}, {template, style, query, graphql, plugins})