Skip to content

Migrate browser performance widget to V2

What does this MR do and why?

For #439131 (closed), part of &10460

Migrate browser performance widget to V2 of the widget framework (the deprecation of this widget was reversed)

Convert index.js to index.vue, remove extension from mr_widget_options, import and add to list in widget/app.vue, update specs

Screenshots or screen recordings

Before After
Screen_Recording_2024-01-23_at_16.58.15 Screen_Recording_2024-01-23_at_22.01.45

How to set up and validate locally

  1. find/make a project that generates browser performance reports
expand for CI snippets

option 1: download the artifacts zip from a real sitespeed job, extract the data/performance.json file from it, put that in your repo and use it as your artifacts:reports:browser_performance

browser_performance:
  script:
    - cp -v path/to/performance.json .
  artifacts:
    reports:
      browser_performance: performance.json

option 2: using a docker-in-docker runner and the browser performance CI template, pass in a URL to scan

include:
  template: Verify/Browser-Performance.gitlab-ci.yml

browser_performance:
  variables:
    URL: https://example.com
  1. open a merge request in the project and make a change that should result in different sitespeed scan data
  2. run pipelines for the base commit and head commit of the merge request's branch (if they didn't run automatically)
  3. verify that the new version of the browser performance widget shows the correct data (the diff between the base report and head report for the merge request's branch)

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Miranda Fluharty

Merge request reports