Plugin pagespeed detailed and workflow refactor (#15)

* Display debug logs on error

* Add workflow generator

* Minor plugins adjustements

* Add plugin_pagespeed_detailed option

* Rename computed.plugins to plugins

* Rebuild

* Fix mishandling of boolean value in url for web instance

* Add pagespeed.detailled option for web instances

* Update formatting of pagespeed detailed report

* Add version display and prefers-color-scheme for web instance
This commit is contained in:
Simon Lecoq
2020-12-10 12:59:56 +01:00
committed by GitHub
parent 6ef500d694
commit 484a124441
21 changed files with 745 additions and 342 deletions

View File

@@ -1,23 +0,0 @@
name: Analysis
on:
push:
branches: [master]
pull_request:
branches: [master]
schedule:
- cron: 0 0 * * *
jobs:
analyze:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup
uses: github/codeql-action/init@v1
with:
languages: javascript
config-file: ./.github/config/codeql.yml
- name: Analyze
uses: github/codeql-action/analyze@v1

View File

@@ -23,430 +23,504 @@ jobs:
- name: Test
run: npm test
test-master:
analyze:
runs-on: ubuntu-latest
needs: ["test@master","test@latest"]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup
uses: github/codeql-action/init@v1
with:
languages: javascript
config-file: ./.github/config/codeql.yml
- name: Analyze
uses: github/codeql-action/analyze@v1
# Tests cases below are auto generated through `npm run build`
# Edit utils/workflow.yml instead if you need to update workflow
test@master:
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
template: ["classic","terminal"]
steps:
- name: Template > Classic
- name: ${{ matrix.template }} > Base
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
repositories: 1
plugins_errors_fatal: yes
dryrun: yes
- name: Template > Terminal
uses: lowlighter/metrics@master
with:
template: terminal
token: ${{ secrets.METRICS_TOKEN }}
repositories: 1
template: ${{ matrix.template }}
base: header, activity, community, repositories, metadata
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > PageSpeed
- name: ${{ matrix.template }} > Plugin > PageSpeed
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
repositories: 1
plugins_errors_fatal: yes
plugin_pagespeed: yes
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Music (playlist - apple)
- name: ${{ matrix.template }} > Plugin > PageSpeed (detailed)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_pagespeed: yes
plugin_pagespeed_detailed: yes
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
- name: ${{ matrix.template }} > Plugin > Music (playlist - apple)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_music: yes
plugin_music_playlist: ${{ secrets.MUSIC_PLAYLIST_APPLE }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Music (playlist - spotify)
- name: ${{ matrix.template }} > Plugin > Music (playlist - spotify)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_music: yes
plugin_music_playlist: ${{ secrets.MUSIC_PLAYLIST_SPOTIFY }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Music (recent - spotify)
- name: ${{ matrix.template }} > Plugin > Music (recent - spotify)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_music: yes
plugin_music_provider: spotify
plugin_music_token: ${{ secrets.SPOTIFY_TOKENS }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Posts (dev.to)
- name: ${{ matrix.template }} > Plugin > Posts (dev.to)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_posts: yes
plugin_posts_source: dev.to
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Isocalendar
- name: ${{ matrix.template }} > Plugin > Isocalendar
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_isocalendar: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Isocalendar (full year)
- name: ${{ matrix.template }} > Plugin > Isocalendar (full year)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_isocalendar: yes
plugin_isocalendar_duration: full-year
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Habits
- name: ${{ matrix.template }} > Plugin > Habits
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_habits: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Languages
- name: ${{ matrix.template }} > Plugin > Languages
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_languages: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Follow-up
- name: ${{ matrix.template }} > Plugin > Follow-up
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_followup: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Lines
- name: ${{ matrix.template }} > Plugin > Lines
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: "repositories"
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_lines: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Traffic
- name: ${{ matrix.template }} > Plugin > Traffic
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: "repositories"
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_traffic: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Gists
- name: ${{ matrix.template }} > Plugin > Gists
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_gists: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (stars)
- name: ${{ matrix.template }} > Plugin > Topics (stars)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: stars
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (activity)
- name: ${{ matrix.template }} > Plugin > Topics (activity)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: activity
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (starred)
- name: ${{ matrix.template }} > Plugin > Topics (starred)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: starred
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (random)
- name: ${{ matrix.template }} > Plugin > Topics (random)
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: random
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Projects
- name: ${{ matrix.template }} > Plugin > Projects
uses: lowlighter/metrics@master
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_projects: yes
plugin_projects_limit: 2
plugins_errors_fatal: yes
dryrun: yes
test-latest:
test@latest:
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
template: ["classic","terminal"]
steps:
- name: Template > Classic
- name: ${{ matrix.template }} > Base
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
repositories: 1
plugins_errors_fatal: yes
dryrun: yes
- name: Template > Terminal
uses: lowlighter/metrics@latest
with:
template: terminal
token: ${{ secrets.METRICS_TOKEN }}
repositories: 1
template: ${{ matrix.template }}
base: header, activity, community, repositories, metadata
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > PageSpeed
- name: ${{ matrix.template }} > Plugin > PageSpeed
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
repositories: 1
plugins_errors_fatal: yes
plugin_pagespeed: yes
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Music (playlist - apple)
- name: ${{ matrix.template }} > Plugin > PageSpeed (detailed)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_pagespeed: yes
plugin_pagespeed_detailed: yes
plugin_pagespeed_token: ${{ secrets.PAGESPEED_TOKEN }}
- name: ${{ matrix.template }} > Plugin > Music (playlist - apple)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_music: yes
plugin_music_playlist: ${{ secrets.MUSIC_PLAYLIST_APPLE }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Music (playlist - spotify)
- name: ${{ matrix.template }} > Plugin > Music (playlist - spotify)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_music: yes
plugin_music_playlist: ${{ secrets.MUSIC_PLAYLIST_SPOTIFY }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Music (recent - spotify)
- name: ${{ matrix.template }} > Plugin > Music (recent - spotify)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_music: yes
plugin_music_provider: spotify
plugin_music_token: ${{ secrets.SPOTIFY_TOKENS }}
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Posts (dev.to)
- name: ${{ matrix.template }} > Plugin > Posts (dev.to)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_posts: yes
plugin_posts_source: dev.to
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Isocalendar
- name: ${{ matrix.template }} > Plugin > Isocalendar
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_isocalendar: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Isocalendar (full year)
- name: ${{ matrix.template }} > Plugin > Isocalendar (full year)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_isocalendar: yes
plugin_isocalendar_duration: full-year
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Habits
- name: ${{ matrix.template }} > Plugin > Habits
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_habits: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Languages
- name: ${{ matrix.template }} > Plugin > Languages
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_languages: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Follow-up
- name: ${{ matrix.template }} > Plugin > Follow-up
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_followup: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Lines
- name: ${{ matrix.template }} > Plugin > Lines
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: "repositories"
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_lines: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Traffic
- name: ${{ matrix.template }} > Plugin > Traffic
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: "repositories"
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_traffic: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Gists
- name: ${{ matrix.template }} > Plugin > Gists
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_gists: yes
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (stars)
- name: ${{ matrix.template }} > Plugin > Topics (stars)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: stars
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (activity)
- name: ${{ matrix.template }} > Plugin > Topics (activity)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: activity
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (starred)
- name: ${{ matrix.template }} > Plugin > Topics (starred)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: starred
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Topics (random)
- name: ${{ matrix.template }} > Plugin > Topics (random)
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_topics: yes
plugin_topics_sort: random
plugins_errors_fatal: yes
dryrun: yes
- name: Plugin > Projects
- name: ${{ matrix.template }} > Plugin > Projects
uses: lowlighter/metrics@latest
with:
token: ${{ secrets.METRICS_TOKEN }}
base: ""
dryrun: yes
repositories: 1
template: ${{ matrix.template }}
base: ""
plugins_errors_fatal: yes
plugin_projects: yes
plugin_projects_limit: 2
plugins_errors_fatal: yes
dryrun: yes