Test new tech report in Lighthouse on every commit #857
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
######################################## | |
## 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' | |