Skip to content

Test new tech report in Lighthouse on every commit #857

Test new tech report in Lighthouse on every commit

Test new tech report in Lighthouse on every commit #857

Workflow file for this run

########################################
## Custom HTTP Archive GitHub action ##
#######################################
#
# This generates snd tests the website when a pull request is
# opened (or added to) on the original repo
#
name: Test Website
on:
workflow_dispatch:
pull_request:
jobs:
build:
name: Build and Test Website
runs-on: ubuntu-20.04
if: github.repository == 'HTTPArchive/httparchive.org'
steps:
- name: Checkout branch
uses: actions/checkout@v4
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0
- name: Setup Node.js for use with actions
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Run the website
run: ./tools/scripts/run_and_test_website.sh
- name: Remove node modules to avoid linting errors
run: rm -rf node_modules
- name: Use more complete checks for generated HTML linting
run: cp -f .github/linters/.htmlhintrc_morechecks .github/linters/.htmlhintrc
- name: Lint Generated HTML
uses: github/super-linter/[email protected]
env:
DEFAULT_BRANCH: main
FILTER_REGEX_INCLUDE: static/html/.*
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VALIDATE_HTML: true
USE_FIND_ALGORITHM: true
- name: Set the list of URLs for Lighthouse to check
env:
RUN_TYPE: ${{ github.event_name }}
COMMIT_SHA: ${{ github.sha }}
run: ./tools/scripts/set_lighthouse_urls.sh
- name: Audit URLs using Lighthouse
uses: treosh/[email protected]
id: LHCIAction
with:
# For dev, turn off all timing perf audits (too unreliable) and a few others that don't work on dev
configPath: .github/lighthouse/lighthouse-config-dev.json
uploadArtifacts: true # save results as an action artifacts
temporaryPublicStorage: true # upload lighthouse report to the temporary storage
- name: Show Lighthouse outputs
run: |
# All results by URL:
echo '${{ steps.LHCIAction.outputs.manifest }}' | jq -r '.[] | (.summary|tostring) + " - " + .url'