Skip to content

Lighthouse Badger Easy #5

Lighthouse Badger Easy

Lighthouse Badger Easy #5

# Lighthouse-Badger-Easy | GitHub Action Workflow
#
# Description: Generates, adds & updates manually/automatically Lighthouse badges & reports from one/multiple input URL(s) to the current repository & main branch with minimal settings
# Author: Sitdisch
# Source: https://github.com/myactionway/lighthouse-badger-workflows
# License: MIT
# Copyright (c) 2021 Sitdisch
name: 'Lighthouse Badger Easy'
########################################################################
# DEFINE YOUR INPUTS AND TRIGGERS IN THE FOLLOWING
########################################################################
# INPUTS as environmental variables (env) for not manually triggered workflows
env:
URLS: https://georgegca.pythonanywhere.com/?keywords=vqa
TOKEN_NAME: LIGHTHOUSE_BADGER_TOKEN_SECRET
# If any of the following env is blank, a default value is used instead
REPO_BRANCH: # target repository & branch e.g. 'dummy/mytargetrepo main'
BADGES_ARGS: "-b plastic -l '' -o lighthouse_results -r" # badge-style '-b {flat,...}', preceding-label '-l "Lighthouse "', output-path '-o lighthouse_results/dummy', save-report '-r', single-badge '-s'
MOBILE_LIGHTHOUSE_PARAMS: '--only-categories=performance,accessibility,best-practices,seo --throttling.cpuSlowdownMultiplier=2'
DESKTOP_LIGHTHOUSE_PARAMS: '--only-categories=performance,accessibility,best-practices,seo --preset=desktop --throttling.cpuSlowdownMultiplier=1'
# THAT'S IT; JUMP TO THE TRIGGERS;
DEFAULT_REPO_BRANCH: '${{ github.repository }} main' # repo with this file and main branch
DEFAULT_BADGES_ARGS: '-b pagespeed -o lighthouse_results -r'
DEFAULT_MOBILE_LIGHTHOUSE_PARAMS: '--throttling.cpuSlowdownMultiplier=2'
DEFAULT_DESKTOP_LIGHTHOUSE_PARAMS: '--preset=desktop --throttling.cpuSlowdownMultiplier=1'
# TRIGGERS
on:
# page_build:
# schedule: # Check your schedule here => https://crontab.guru/
# - cron: '55 23 * * 0' # e.g. every Sunday at 23:55
#
# THAT'S IT; YOU'RE DONE;
workflow_dispatch:
########################################################################
# THAT'S IT; YOU DON'T HAVE TO DEFINE ANYTHING IN THE FOLLOWING
########################################################################
jobs:
lighthouse-badger-easy:
runs-on: ubuntu-22.04
timeout-minutes: 8
steps:
- name: Preparatory Tasks
run: |
REPOSITORY=`expr "${{ env.REPO_BRANCH }}" : "\([^ ]*\)"`
BRANCH=`expr "${{ env.REPO_BRANCH }}" : ".* \([^ ]*\)"`
echo "REPOSITORY=$REPOSITORY" >> $GITHUB_ENV
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
env:
REPO_BRANCH: ${{ github.event.inputs.repo_branch || env.REPO_BRANCH || env.DEFAULT_REPO_BRANCH }}
- uses: actions/checkout@v3
with:
repository: ${{ env.REPOSITORY }}
token: ${{ secrets[github.event.inputs.token_name] || secrets[env.TOKEN_NAME] }}
ref: ${{ env.BRANCH }}
- uses: actions/checkout@v3
with:
repository: 'myactionway/lighthouse-badges'
path: temp_lighthouse_badges_nested
- uses: myactionway/lighthouse-badger-action@v2.2
with:
urls: ${{ github.event.inputs.urls || env.URLS }}
badges_args: ${{ github.event.inputs.badges_args || env.BADGES_ARGS || env.DEFAULT_BADGES_ARGS }}
mobile_lighthouse_params: ${{ github.event.inputs.mobile_lighthouse_params || env.MOBILE_LIGHTHOUSE_PARAMS || env.DEFAULT_MOBILE_LIGHTHOUSE_PARAMS }}
desktop_lighthouse_params: ${{ github.event.inputs.desktop_lighthouse_params || env.DESKTOP_LIGHTHOUSE_PARAMS || env.DEFAULT_DESKTOP_LIGHTHOUSE_PARAMS }}