Update action parameters

This commit is contained in:
lowlighter
2020-09-17 21:43:27 +02:00
parent 2493e29ebc
commit 4168386973
3 changed files with 21 additions and 7 deletions

View File

@@ -14,11 +14,17 @@ inputs:
filename: filename:
description: Name of SVG image output description: Name of SVG image output
default: github-metrics.svg default: github-metrics.svg
plugin_pagespeed:
description: Enable Pagespeed metrics for user's website (requires "pagespeed_token" to be provided)
default: no
pagespeed_token: pagespeed_token:
description: Pagespeed Personal Token (optional, see https://developers.google.com/speed/docs/insights/v5/get-started for more information) description: Pagespeed Personal Token (optional, see https://developers.google.com/speed/docs/insights/v5/get-started for more information)
plugins: plugin_lines:
description: List of additional plugins to enabled. Supported values are "lines", "pagespeed" (requires "pagespeed_token") and "traffic" (require "token" with "repository" permissions) description: Enable repositories lines metrics
default: [] default: no
plugin_traffic:
description: Enable repositories traffic metrics (due to GitHub API limitations, "token" must have "repo" permissions)
default: no
runs: runs:
using: node12 using: node12
main: action/dist/index.js main: action/dist/index.js

View File

@@ -541,13 +541,17 @@ __webpack_require__.r(__webpack_exports__);
const rest = github.getOctokit(token) const rest = github.getOctokit(token)
//Additional plugins //Additional plugins
const enabled = new Set(core.getInput("plugins", {default:[]})) const plugins = {
const plugins = {lines:{enabled:enabled.has("lines")}, traffic:{enabled:enabled.has("traffic")}, pagespeed:{enabled:enabled.has("pagespeed")}} 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")) { if (core.getInput("pagespeed_token")) {
console.log(`Pagespeed token | provided`) console.log(`Pagespeed token | provided`)
plugins.pagespeed.token = core.getInput("pagespeed_token") plugins.pagespeed.token = core.getInput("pagespeed_token")
} }
const q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true])) 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 //Render metrics
const rendered = await metrics({login:user, q}, {template, style, query, graphql, plugins}) const rendered = await metrics({login:user, q}, {template, style, query, graphql, plugins})

View File

@@ -30,13 +30,17 @@
const rest = github.getOctokit(token) const rest = github.getOctokit(token)
//Additional plugins //Additional plugins
const enabled = new Set(core.getInput("plugins", {default:[]})) const plugins = {
const plugins = {lines:{enabled:enabled.has("lines")}, traffic:{enabled:enabled.has("traffic")}, pagespeed:{enabled:enabled.has("pagespeed")}} 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")) { if (core.getInput("pagespeed_token")) {
console.log(`Pagespeed token | provided`) console.log(`Pagespeed token | provided`)
plugins.pagespeed.token = core.getInput("pagespeed_token") plugins.pagespeed.token = core.getInput("pagespeed_token")
} }
const q = Object.fromEntries(Object.entries(plugins).filter(([key, plugin]) => plugin.enabled).map(([key]) => [key, true])) 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 //Render metrics
const rendered = await metrics({login:user, q}, {template, style, query, graphql, plugins}) const rendered = await metrics({login:user, q}, {template, style, query, graphql, plugins})