About this repo | Usage | Authentication | Configuration
Lighthouse CI on Shopify Theme Pull Requests using GitHub Actions.
Add shopify/lighthouse-ci-action
to the workflow of your Shopify theme.
# .github/workflows/lighthouse-ci.yml
name: Shopify Lighthouse CI
on: [push]
jobs:
lhci:
name: Lighthouse
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Lighthouse
uses: shopify/lighthouse-ci-action@v1
with:
store: ${{ secrets.SHOP_STORE }}
access_token: ${{ secrets.SHOP_ACCESS_TOKEN }}
lhci_github_app_token: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
lhci_min_score_performance: 0.9
lhci_min_score_accessibility: 0.9
Authentication is done with Custom App access tokens.
Configure Admin API Scopes
button.read_products
write_themes
Save
.API credentials
tab, install the app.Admin API access token
.SHOP_ACCESS_TOKEN
: the Admin API access tokenSHOP_STORE
: Shopify store <store>.myshopify.com
URLThe shopify/lighthouse-ci-action
accepts the following arguments:
access_token
- (required) see Authenticationstore
- (required) Shopify store Admin URL, e.g. my-store.myshopify.com
.password
- (optional) For password protected shopsproduct_handle
- (optional) Product handle to run the product page Lighthouse run on. Defaults to the first product.theme_root
- (optional) The root folder for the theme files that will be uploaded. Defaults to .
collection_handle
- (optional) Collection handle to run the product page Lighthouse run on. Defaults to the first collection.pull_theme
- (optional) The ID or name of a theme from which the settings and JSON templates should be used. If not provided Lighthouse will be run against the theme's default settings.lhci_min_score_performance
- (optional, default: 0.6) Minimum performance score for a passed audit (must be between 0 and 1).lhci_min_score_accessibility
- (optional, default: 0.9) Minimum accessibility score for a passed auditFor the GitHub Status Checks on PR. One of the two arguments is required:
lhci_github_app_token
- (optional) Lighthouse GitHub app tokenlhci_github_token
- (optional) GitHub personal access tokenFor more details on the implications of choosing one over the other, refer to the Lighthouse CI Getting Started Page