{"id":13532433,"url":"https://github.com/treosh/lighthouse-ci-action","last_synced_at":"2025-05-15T03:04:04.036Z","repository":{"id":35655500,"uuid":"210552904","full_name":"treosh/lighthouse-ci-action","owner":"treosh","description":"Audit URLs using Lighthouse and test performance with Lighthouse CI.","archived":false,"fork":false,"pushed_at":"2024-07-16T17:35:02.000Z","size":60551,"stargazers_count":1172,"open_issues_count":26,"forks_count":82,"subscribers_count":14,"default_branch":"main","last_synced_at":"2024-10-29T15:26:23.249Z","etag":null,"topics":["github-actions","lighthouse","lighthouse-ci","performance-budget"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/treosh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-24T08:35:47.000Z","updated_at":"2024-10-21T16:08:08.000Z","dependencies_parsed_at":"2024-11-14T07:18:33.104Z","dependency_job_id":null,"html_url":"https://github.com/treosh/lighthouse-ci-action","commit_stats":{"total_commits":258,"total_committers":29,"mean_commits":8.89655172413793,"dds":"0.43410852713178294","last_synced_commit":"2f8dda6cf4de7d73b29853c3f29e73a01e297bd8"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treosh%2Flighthouse-ci-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treosh%2Flighthouse-ci-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treosh%2Flighthouse-ci-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/treosh%2Flighthouse-ci-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/treosh","download_url":"https://codeload.github.com/treosh/lighthouse-ci-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248368689,"owners_count":21092432,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github-actions","lighthouse","lighthouse-ci","performance-budget"],"created_at":"2024-08-01T07:01:10.933Z","updated_at":"2025-04-11T09:37:13.899Z","avatar_url":"https://github.com/treosh.png","language":"JavaScript","funding_links":[],"categories":["JavaScript","Community Resources","GitHub Actions","others"],"sub_categories":["Monitoring"],"readme":"# Lighthouse CI Action\n\n\u003e Audit URLs using [Lighthouse](https://developers.google.com/web/tools/lighthouse)\n\u003e and test performance with [Lighthouse CI](https://github.com/GoogleChrome/lighthouse-ci).\n\nThis action integrates Lighthouse CI with Github Actions environment.\nMaking it simple to see failed tests, upload results, run jobs in parallel, store secrets, and interpolate env variables.\n\nIt is built in collaboration between Lighthouse Team, Treo (web performance monitoring company), and many excellent contributors.\n\n**Features**:\n\n- ✅ Audit URLs using Lighthouse v12\n- 🎯 Test performance with Lighthouse CI assertions or performance budgets\n- 😻 See failed results in the action interface\n- 💾 Upload results to a private LHCI server, Temporary Public Storage, or as artifacts\n- ⚙️ Full control over Lighthouse CI config\n- 🚀 Fast action initialization (less than 1 second)\n\n\u003cimg align=\"center\" width=\"926\" alt=\"Lighthouse CI Action\" src=\"https://user-images.githubusercontent.com/158189/77115281-55dfed80-6a2e-11ea-8b96-ff7e31fc6155.png\"\u003e\n\n## Example\n\nRun Lighthouse on each push to the repo, test performance budget, save results as action artifacts.\n\nCreate `.github/workflows/main.yml` with the list of URLs to audit using Lighthouse.\n\n```yml\nname: Lighthouse CI\non: push\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Audit URLs using Lighthouse\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: |\n            https://example.com/\n            https://example.com/blog\n          budgetPath: ./budget.json # test performance budgets\n          uploadArtifacts: true # save results as an action artifacts\n          temporaryPublicStorage: true # upload lighthouse report to the temporary storage\n```\n\nDescribe your performance budget using a [`budget.json`](https://web.dev/use-lighthouse-for-performance-budgets/).\n\n```json\n[\n  {\n    \"path\": \"/*\",\n    \"resourceSizes\": [\n      {\n        \"resourceType\": \"document\",\n        \"budget\": 18\n      },\n      {\n        \"resourceType\": \"total\",\n        \"budget\": 200\n      }\n    ]\n  }\n]\n```\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-assert-on-budget)\n\n## Recipes\n\n\u003cdetails\u003e\n \u003csummary\u003eRun Lighthouse and validate against Lighthouse CI assertions.\u003c/summary\u003e\u003cbr\u003e\n\nCreate `.github/workflows/main.yml` with the list of URLs to audit\nand identify a `lighthouserc` file with `configPath`.\n\n#### main.yml\n\n```yml\nname: Lighthouse\non: push\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Run Lighthouse on urls and validate with lighthouserc\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: 'https://exterkamp.codes/'\n          configPath: './lighthouserc.json'\n```\n\nMake a `lighthouserc.json` file with [LHCI assertion syntax](https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/configuration.md).\n\n#### lighthouserc.json\n\n```json\n{\n  \"ci\": {\n    \"assert\": {\n      \"assertions\": {\n        \"first-contentful-paint\": [\"error\", { \"minScore\": 0.6 }]\n      }\n    }\n  }\n}\n```\n\n\u003cimg align=\"center\" width=\"925\" alt=\"Lighthouse CI Action: test Lighthouse assertions\" src=\"https://user-images.githubusercontent.com/158189/77118526-a8bca380-6a34-11ea-876e-2004bc7984a7.png\"\u003e\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-assert-on-lighthouserc)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003eUpload results to a private LHCI server.\u003c/summary\u003e\u003cbr\u003e\n\nCreate `.github/workflows/main.yml` with the list of URLs to audit using lighthouse,\nand identify a `serverBaseUrl` to upload to and an `token` to use.\n\n\u003e **Note**: use [GitHub secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets#creating-encrypted-secrets) to keep your server address hidden!\n\n#### main.yml\n\n```yml\nname: Lighthouse\non: push\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Run Lighthouse on urls and upload data to private lhci server\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: 'https://example.com/'\n          serverBaseUrl: ${{ secrets.LHCI_SERVER_URL }}\n          serverToken: ${{ secrets.LHCI_SERVER_TOKEN }}\n```\n\n\u003cimg align=\"center\" width=\"925\" alt=\"Lighthouse CI Action: Upload results to a private server\" src=\"https://user-images.githubusercontent.com/158189/77117096-98ef9000-6a31-11ea-97f3-dee71caf32ca.png\"\u003e\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-upload-to-private-server)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003eAudit with custom Chrome options and custom Lighthouse config.\u003c/summary\u003e\u003cbr\u003e\n\nCreate `.github/workflows/main.yml` with the list of URLs to audit and\nidentify a `lighthouserc` file with `configPath`.\n\n#### main.yml\n\n```yml\nname: Lighthouse\non: push\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Run Lighthouse on urls with lighthouserc\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: 'https://example.com/'\n          configPath: './lighthouserc.json'\n```\n\nChrome flags can be set directly in the `lighthouserc`'s `collect` section.\n\n#### lighthouserc.json\n\n```json\n{\n  \"ci\": {\n    \"collect\": {\n      \"numberOfRuns\": 1,\n      \"settings\": {\n        \"chromeFlags\": \"--disable-gpu --no-sandbox --no-zygote\"\n      }\n    }\n  }\n}\n```\n\nCustom Lighthouse config can be defined in a seperate Lighthouse config using\nthe [custom Lighthouse config syntax](https://github.com/GoogleChrome/lighthouse/blob/master/docs/configuration.md).\nThis is then referenced by the `lighthouserc` file in the `configPath`.\n\n#### lighthouserc.json\n\n```json\n{\n  \"ci\": {\n    \"collect\": {\n      \"numberOfRuns\": 1,\n      \"settings\": {\n        \"configPath\": \"./lighthouse-config.js\"\n      }\n    }\n  }\n}\n```\n\nThen put all the custom Lighthouse config in the file referenced in the `lighthouserc`.\n\n#### lighthouse-config.js\n\n```javascript\nmodule.exports = {\n  extends: 'lighthouse:default',\n  settings: {\n    emulatedFormFactor: 'desktop',\n    audits: [{ path: 'metrics/first-contentful-paint', options: { scorePODR: 800, scoreMedian: 1600 } }],\n  },\n}\n```\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-advanced-config)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003eTest a static site without having to deploy it.\u003c/summary\u003e\u003cbr\u003e\n\nCreate `.github/workflows/main.yml` and identify a `lighthouserc` file with a\n`staticDistDir` config.\n\n#### main.yml\n\n```yml\nname: Lighthouse\non: push\njobs:\n  static-dist-dir:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Run Lighthouse against a static dist dir\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          # no urls needed, since it uses local folder to scan .html files\n          configPath: './lighthouserc.json'\n```\n\n#### lighthouserc.json\n\n```json\n{\n  \"ci\": {\n    \"collect\": {\n      \"staticDistDir\": \"./dist\"\n    }\n  }\n}\n```\n\nInside your `staticDistDir` there should be html files that make up your site.\nLHCI will run a simple static webserver to host the files, then run an audit\nagainst each of them. More details on this process are in the [Lighthouse CI docs](https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/getting-started.md#run-lighthouse-ci).\n\n\u003cimg align=\"center\" width=\"998\" alt=\"Lighthouse CI Action: Test a static site without having to deploy it\" src=\"https://user-images.githubusercontent.com/158189/77118086-b1f94080-6a33-11ea-9429-d3c108190c8d.png\"\u003e\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-static-dist-dir)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eIntegrate Lighthouse CI with Netlify\u003c/summary\u003e\u003cbr\u003e\n\nIt waits for Netlify to finish building a preview and then uses a built version to check performance.\nHence, recipe is a composition of 2 actions: [Wait for Netlify Action](https://github.com/JakePartusch/wait-for-netlify-action)\nand Lighthouse CI Action.\n\n```yml\nname: Lighthouse CI for Netlify sites\non: pull_request\njobs:\n  build:\n    runs-on: ubuntu-latest\n\n    steps:\n      - uses: actions/checkout@v4\n      - name: Wait for the Netlify Preview\n        uses: jakepartusch/wait-for-netlify-action@v1.4\n        id: netlify\n        with:\n          site_name: 'gallant-panini-bc8593'\n      - name: Audit URLs using Lighthouse\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: |\n            ${{ steps.netlify.outputs.url }}\n            ${{ steps.netlify.outputs.url }}/products/\n          budgetPath: ./budget.json\n          uploadArtifacts: true\n```\n\n[⚙️ See this workflow in use](https://github.com/denar90/lightouse-ci-netlify-preact/actions/runs/115659149)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eUse URLs interpolation to pass secrets or environment variables\u003c/summary\u003e\n\nURLs support interpolation of process env variables so that you can write URLs like:\n\n```yml\nname: Lighthouse CI\non: push\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Run Lighthouse and test budgets\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: |\n            https://pr-$PR_NUMBER.staging-example.com/\n            https://pr-$PR_NUMBER.staging-example.com/blog\n          budgetPath: ./budgets.json\n          temporaryPublicStorage: true\n        env:\n          PR_NUMBER: ${{ github.event.pull_request.number }}\n```\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-urls-interpolation)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003eUse with a Lighthouse plugin.\u003c/summary\u003e\u003cbr\u003e\n\nCombine the [field performance](https://github.com/treosh/lighthouse-plugin-field-performance) plugin with Github Actions.\n\n#### main.yml\n\n```yml\nname: Lighthouse CI with a plugin\non: push\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - run: npm install # install dependencies, that includes Lighthouse plugins\n      - name: Audit URLs with Field Performance Plugin\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: |\n            https://www.example.com/\n          configPath: '.lighthouserc.json'\n          temporaryPublicStorage: true\n```\n\n#### lighthouserc.json\n\n```json\n{\n  \"ci\": {\n    \"collect\": {\n      \"settings\": {\n        \"plugins\": [\"lighthouse-plugin-field-performance\"]\n      }\n    }\n  }\n}\n```\n\nAdd a plugin as a dependency, so it's installed locally:\n\n#### package.json\n\n```json\n{\n  \"devDependencies\": {\n    \"lighthouse-plugin-field-performance\": \"^2.0.1\"\n  }\n}\n```\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-lighthouse-plugin)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n \u003csummary\u003eUse `output` for a powerful composition with other actions\u003c/summary\u003e\u003cbr\u003e\n\n#### main.yml\n\n```yml\n# Example of output usage\nname: LHCI-output-webhook\non: push\njobs:\n  output-webhook:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Use output for sending data to API.\n        id: LHCIAction\n        uses: ./\n        with:\n          urls: |\n            https://treo.sh/\n      - name: Webhook\n          uses: denar90/webhook-action@0.1.1\n          with:\n            webhookUrl: ${{secrets.ACTION_WEBHOOK_URL}}\n            data: '{ \"links\": ${{steps.LHCIAction.outputs.links}}, \"manifest\": ${{steps.LHCIAction.outputs.manifest}} }'\n```\n\n[⚙️ See this workflow in use](https://github.com/treosh/lighthouse-ci-action/actions?workflow=LHCI-output-webhook)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eGitHub Action workflow on self-hosted GitHub runner (e.g. on-premise)\u003c/summary\u003e\n  \n#### main.yml  \n  \n```yml\nname: Lighthouse CI\non: push\njobs:\n  lighthouse:\n    runs-on: [self-hosted, your-custom-label]\n    steps:\n      - uses: actions/checkout@v4\n      - name: install Node.js\n\n      - uses: browser-actions/setup-chrome@latest\n\n      - run: chrome --version\n        uses: actions/setup-node@v3\n        with:\n          node-version: ${{YOUR_REQUIRED_NODE_JS_VERSION}}\n\n      - name: Audit URLs using Lighthouse\n        uses: treosh/lighthouse-ci-action@v12\n        with:\n          urls: |\n            https://example.com/\n            https://example.com/blog\n        [...]\n\n````\n\n[Learn more about hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eDynamically generate URLs\u003c/summary\u003e\n\nUse github-script or any other means to dynamically generate a list of URLs to test\n\n#### main.yml\n\n```yml\njobs:\n  lighthouse:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n\n      - name: Generate URLs\n        id: urls\n        uses: actions/github-script@v6\n        with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n          script: |\n            const globber = await glob.create('elements/*/demo/*.html');\n            const files = await globber.glob();\n            const urls = files\n              .map(x =\u003e x.match(/([\\w-]+)/)[1])\n              .map(x =\u003e `${${{ env.DOMAIN }}}/components/${x}/demo/`)\n              .join('\\n');\n            core.setOutput('urls', urls);\n\n      - name: Lighthouse CI Action\n        id: lighthouse\n        uses: treosh/lighthouse-ci-action@v8\n        with:\n          urls: |\n            ${{ steps.urls.outputs.urls }}\n\n```\n\n\u003c/details\u003e\n\nExplore more workflows in [public examples](./.github/workflows).\nSubmit a pull request with a new one if they don't cover your use case.\n\n## Inputs\n\n#### `urls`\n\nProvide the list of URLs separated by a new line.\nEach URL is audited using the latest version of Lighthouse and Chrome preinstalled on the environment.\n\n```yml\nurls: |\n  https://example.com/\n  https://example.com/blog\n  https://example.com/pricing\n````\n\n#### `uploadArtifacts` (default: false)\n\nUpload Lighthouse results as [action artifacts](https://help.github.com/en/actions/configuring-and-managing-workflows/persisting-workflow-data-using-artifacts) to persist results. Equivalent to using [`actions/upload-artifact`](https://github.com/actions/upload-artifact) to save the artifacts with additional action steps.\n\n```yml\nuploadArtifacts: true\n```\n\n#### `uploadExtraArgs`\n\nAdd extra args to the [upload command](https://github.com/GoogleChrome/lighthouse-ci/blob/main/docs/configuration.md#upload).\n\n```yml\nuploadExtraArgs: \"--extraHeaders.Authorization='Bearer X92sEo3n1J1F0k1E9' --extraHeaders.Foo='Bar'\"\n```\n\n#### `temporaryPublicStorage` (default: false)\n\nUpload reports to the [_temporary public storage_](https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/getting-started.md#collect-lighthouse-results).\n\n\u003e **Note**: As the name implies, this is temporary and public storage. If you're uncomfortable with the idea of your Lighthouse reports being stored\n\u003e on a public URL on Google Cloud, use a private [LHCI server](#serverBaseUrl). Reports are automatically deleted 7 days after upload.\n\n```yml\ntemporaryPublicStorage: true\n```\n\n#### `budgetPath`\n\nUse a performance budget to keep your page size in check. `Lighthouse CI Action` will fail the build if one of the URLs exceeds the budget.\n\nLearn more about the [budget.json spec](https://github.com/GoogleChrome/budget.json) and [practical use of performance budgets](https://web.dev/use-lighthouse-for-performance-budgets).\n\n```yml\nbudgetPath: ./budget.json\n```\n\n#### `runs` (default: 1)\n\nSpecify the number of runs to do on each URL.\n\n\u003e **Note**: Asserting against a single run can lead to flaky performance assertions.\n\u003e Use `1` only to ensure static audits like Lighthouse scores, page size, or performance budgets.\n\n```yml\nruns: 3\n```\n\n#### `configPath`\n\nSet a path to a custom [lighthouserc file](https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/configuration.md) for full control of the Lighthouse environment and assertions.\n\nUse `lighthouserc` to configure the collection of data (via Lighthouse config and Chrome Flags), and CI assertions (via LHCI assertions).\n\n```yml\nconfigPath: ./lighthouserc.json\n```\n\nIf some configurations aren't set using action parameters, the settings are fetched from the config file provided here.\n\n#### `serverBaseUrl`\n\nUpload Lighthouse results to a private [LHCI server](https://github.com/GoogleChrome/lighthouse-ci) by specifying both `serverBaseUrl` and `serverToken`.\nThis will replace uploading to `temporary-public-storage`.\n\n```yml\nserverBaseUrl: ${{ secrets.LHCI_SERVER_BASE_URL }}\nserverToken: ${{ secrets.LHCI_SERVER_TOKEN }}\n```\n\n\u003e **Note**: Use [Github secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets#creating-encrypted-secrets) to keep your token hidden!\n\n#### `basicAuthUsername` `basicAuthPassword`\n\nLighthouse servers can be protected with basic authentication [LHCI server basic authentication](https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/server.md#basic-authentication) by specifying both `basicAuthUsername` and `basicAuthPassword` will authenticate the upload.\n\n```yml\nbasicAuthUsername: ${{ secrets.LHCI_SERVER_BASIC_AUTH_USERNAME }}\nbasicAuthPassword: ${{ secrets.LHCI_SERVER_BASIC_AUTH_PASSWORD }}\n```\n\n\u003e **Note**: Use [Github secrets](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets#creating-encrypted-secrets) to keep your username and password hidden!\n\n## Outputs\n\nUse outputs to compose results of the LHCI Action with other Github Actions, like webhooks, notifications, or custom assertions.\n\n### `resultsPath`\n\nA path to `.lighthouseci` results folder:\n\n```\n/Users/lighthouse-ci-action/.lighthouseci\n```\n\n### `links`\n\nA JSON string with a links to uploaded results:\n\n```js\n{\n  'https://treo.sh/': 'https://storage.googleapis.com/lighthouse-infrastructure.appspot.com/reports/1593981455963-59854.report.html'\n  ...\n}\n```\n\n### `assertionResults`\n\nA JSON string with assertion results:\n\n```js\n[\n  {\n    name: 'maxNumericValue',\n    expected: 61440,\n    actual: 508455,\n    values: [508455],\n    operator: '\u003c=',\n    passed: false,\n    auditProperty: 'total.size',\n    auditId: 'resource-summary',\n    level: 'error',\n    url: 'https://treo.sh/',\n    auditTitle: 'Keep request counts low and transfer sizes small',\n    auditDocumentationLink: 'https://developers.google.com/web/tools/lighthouse/audits/budgets',\n  },\n  ...\n]\n```\n\n### `manifest`\n\nA JSON string with report results ([LHCI docs reference](https://github.com/GoogleChrome/lighthouse-ci/blob/master/docs/configuration.md#outputdir)):\n\n```json\n[\n  {\n    \"url\": \"https://treo.sh/\",\n    \"isRepresentativeRun\": true,\n    \"htmlPath\": \"/Users/lighthouse-ci-action/.lighthouseci/treo_sh-_-2020_07_05_20_37_18.report.html\",\n    \"jsonPath\": \"/Users/lighthouse-ci-action/.lighthouseci/treo_sh-_-2020_07_05_20_37_18.report.json\",\n    \"summary\": { \"performance\": 0.99, \"accessibility\": 0.98, \"best-practices\": 1, \"seo\": 0.96, \"pwa\": 0.71 }\n  }\n]\n```\n\n---\n\n## Credits\n\nSponsored by [Treo](https://treo.sh/) and [Google](https://google.com/).\n\n[![](https://github.com/exterkamp/lighthouse-ci-action/workflows/CI/badge.svg)](https://github.com/treosh/lighthouse-ci-action/actions?workflow=CI)\n[![](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreosh%2Flighthouse-ci-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftreosh%2Flighthouse-ci-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftreosh%2Flighthouse-ci-action/lists"}