Skip to content
Snippets Groups Projects

Add LegacyValueStreamMetrics component for graphql migration

Merged Ezekiel Kigbo requested to merge 498179-add-legacy-value-stream-metrics-component into master

What does this MR do and why?

As part of Value Stream Analytics: Migrate lifecycle metri... (#498179 - closed) we need to migrate ValueStreamMetrics from REST to apollo + graphql. Unfortunately the component is used for both CI/CD Analytics and Value Stream Analytics.

This MR breaks up the work needed to migrate both pages, deprecates the existing component and introduces the new component that will be used going forward.

This MR:

  • Adds LegacyValueStreamMetrics - a clone of the existing REST based value stream metrics component
  • Replaces ValueStreamMetrics with LegacyValueStreamMetrics for CI/CD Analytics and Value Stream Analytics
  • Adds the new ValueStreamMetrics component using graphql + apollo
  • Refactors some shared constants + updates related tests

References

Please include cross links to any resources that are relevant to this MR. This will give reviewers and future readers helpful context to give an efficient review of the changes introduced.

MR acceptance checklist

Please evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Screenshots or screen recordings

No visual changes introduced with this MR

How to set up and validate locally

All tests passing

Related to #498179 (closed)

Edited by Ezekiel Kigbo

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Ezekiel Kigbo changed milestone to %17.6

    changed milestone to %17.6

  • assigned to @ekigbo

  • 4 Warnings
    :warning: This merge request is quite big (1414 lines changed), please consider splitting it into multiple merge requests.
    :warning: 6575c5f3: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines.
    :warning: 34cc1099: Commits that change 30 or more lines across at least 3 files should describe these changes in the commit body. For more information, take a look at our Commit message guidelines.
    :warning: This merge request contains lines with testid selectors. Please ensure e2e:test-on-omnibus job is run.
    1 Message
    :book: This merge request includes changes to Vue files that have both CE and EE versions.

    Vue <template> in CE and EE

    Some Vue files in CE have a counterpart in EE. (For example, path/to/file.vue and ee/path/to/file.vue.)

    When run in the context of CE, the <template> of the CE Vue file is used. When run in the context of EE, the <template> of the EE Vue file is used.

    It's easy to accidentally make a change to a CE <template> that should appear in both CE and EE without making the change in both places. When this happens, the change only takes effect in CE.

    The following Vue files were changed as part of this merge request that include both a CE and EE version of the file:

    • app/assets/javascripts/analytics/cycle_analytics/components/base.vue
    • ee/app/assets/javascripts/analytics/cycle_analytics/components/base.vue

    If you made a change to the <template> of any of these Vue files that should be visible in both CE and EE, please ensure you have made your change to both versions of the file.

    A better alternative

    An even better alternative is to refactor this component to only use a single template for both CE and EE. More info on this approach here: https://docs.gitlab.com/ee/development/ee_features.html#template-tag

    testid selectors

    The following changed lines in this MR contain testid selectors:

    app/assets/javascripts/analytics/shared/components/legacy_value_stream_metrics.vue

    +  <div class="gl-flex" data-testid="vsa-metrics" :class="isLoading ? 'gl-my-6' : 'gl-mt-6'">
    +          data-testid="vsa-metrics-group"

    If the e2e:test-on-omnibus job in the qa stage has run automatically, please ensure the tests are passing. If the job has not run, please start the manual:e2e-test-pipeline-generate job in the prepare stage and ensure the tests in follow-up:e2e:test-on-omnibus-ee pipeline are passing.

    For the list of known failures please refer to the latest pipeline triage issue.

    If your changes are under a feature flag, please check our Testing with feature flags documentation for instructions.

    Reviewer roulette

    Category Reviewer Maintainer
    frontend @lindsey-shelton profile link current availability (UTC-6, 17 hours behind author) @psimyn profile link current availability (UTC+11, same timezone as author)
    QA @nwestbury profile link current availability (UTC+0, 11 hours behind author) Maintainer review is optional for QA

    Please refer to documentation page for guidance on how you can benefit from the Reviewer Roulette, or use the GitLab Review Workload Dashboard to find other available reviewers.

    If needed, you can retry the :repeat: danger-review job that generated this comment.

    Generated by :no_entry_sign: Danger

  • Bundle size analysis [beta]

    This compares changes in bundle size for entry points between the commits a7453d0c and 8d154dbf

    :sparkles: Special assets

    Entrypoint / Name Size before Size after Diff Diff in percent
    average 4.46 MB 4.46 MB - 0.0 %
    mainChunk 3.36 MB 3.36 MB - 0.0 %

    Note: We do not have exact data for a7453d0c. So we have used data from: aee645e3.
    The intended commit has no webpack pipeline, so we chose the last commit with one before it.

    Please look at the full report for more details


    Read more about how this report works.

    Generated by :no_entry_sign: Danger

  • Ezekiel Kigbo added 3 commits

    added 3 commits

    • 5afbb237 - Add LegacyValueStreamMetrics component for graphql migration
    • 028a2912 - Migrate ValueStreamMetrics component from REST to graphql
    • 676cd8d9 - Use LegacyValueStreamMetrics for CI/CD analytics

    Compare with previous version

  • A deleted user added QA label

    added QA label

  • E2E Test Result Summary

    allure-report-publisher generated test report!

    e2e-test-on-gdk: :white_check_mark: test report for 8d154dbf

    expand test summary
    +------------------------------------------------------------------+
    |                          suites summary                          |
    +-------------+--------+--------+---------+-------+-------+--------+
    |             | passed | failed | skipped | flaky | total | result |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Package     | 24     | 0      | 11      | 0     | 35    | ✅     |
    | Plan        | 76     | 0      | 0       | 0     | 76    | ✅     |
    | Manage      | 1      | 0      | 1       | 0     | 2     | ✅     |
    | Create      | 129    | 0      | 22      | 0     | 151   | ✅     |
    | Verify      | 43     | 0      | 2       | 0     | 45    | ✅     |
    | Fulfillment | 2      | 0      | 0       | 0     | 2     | ✅     |
    | Data Stores | 33     | 0      | 1       | 0     | 34    | ✅     |
    | Analytics   | 2      | 0      | 0       | 0     | 2     | ✅     |
    | Secure      | 4      | 0      | 0       | 0     | 4     | ✅     |
    | Monitor     | 8      | 0      | 0       | 0     | 8     | ✅     |
    | Govern      | 75     | 0      | 3       | 0     | 78    | ✅     |
    | Release     | 5      | 0      | 0       | 0     | 5     | ✅     |
    | Ai-powered  | 0      | 0      | 1       | 0     | 1     | ➖     |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Total       | 402    | 0      | 41      | 0     | 443   | ✅     |
    +-------------+--------+--------+---------+-------+-------+--------+

    e2e-test-on-cng: :white_check_mark: test report for 8d154dbf

    expand test summary
    +------------------------------------------------------------------+
    |                          suites summary                          |
    +-------------+--------+--------+---------+-------+-------+--------+
    |             | passed | failed | skipped | flaky | total | result |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Create      | 136    | 0      | 20      | 0     | 156   | ✅     |
    | Plan        | 82     | 0      | 8       | 0     | 90    | ✅     |
    | Package     | 24     | 0      | 14      | 0     | 38    | ✅     |
    | Data Stores | 33     | 0      | 10      | 0     | 43    | ✅     |
    | Govern      | 82     | 0      | 9       | 1     | 91    | ✅     |
    | Release     | 5      | 0      | 1       | 0     | 6     | ✅     |
    | Monitor     | 8      | 0      | 12      | 0     | 20    | ✅     |
    | Configure   | 0      | 0      | 3       | 0     | 3     | ➖     |
    | Verify      | 49     | 0      | 16      | 0     | 65    | ✅     |
    | Manage      | 1      | 0      | 9       | 0     | 10    | ✅     |
    | Growth      | 0      | 0      | 2       | 0     | 2     | ➖     |
    | Secure      | 2      | 0      | 5       | 0     | 7     | ✅     |
    | Fulfillment | 2      | 0      | 7       | 1     | 9     | ✅     |
    | Ai-powered  | 0      | 0      | 2       | 0     | 2     | ➖     |
    | ModelOps    | 0      | 0      | 1       | 0     | 1     | ➖     |
    | Analytics   | 2      | 0      | 0       | 1     | 2     | ✅     |
    +-------------+--------+--------+---------+-------+-------+--------+
    | Total       | 426    | 0      | 119     | 3     | 545   | ✅     |
    +-------------+--------+--------+---------+-------+-------+--------+
  • Ezekiel Kigbo marked this merge request as ready

    marked this merge request as ready

  • Ezekiel Kigbo changed the description

    changed the description

  • Ezekiel Kigbo added 1 commit

    added 1 commit

    • 70b5b8f8 - Use LegacyValueStreamMetrics for CI/CD analytics

    Compare with previous version

  • Ezekiel Kigbo changed milestone to %17.7

    changed milestone to %17.7

  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • added workflowin review label and removed workflowin dev label

  • Ezekiel Kigbo added 366 commits

    added 366 commits

    • 70b5b8f8...1a871fcc - 363 commits from branch master
    • 46ed24df - Add LegacyValueStreamMetrics component for graphql migration
    • 34cc1099 - Migrate ValueStreamMetrics component from REST to graphql
    • 6575c5f3 - Use LegacyValueStreamMetrics for CI/CD analytics

    Compare with previous version

  • Ezekiel Kigbo requested review from @julie_huang

    requested review from @julie_huang

  • Ezekiel Kigbo
  • Ezekiel Kigbo
  • Julie Huang
  • Julie Huang
  • Ezekiel Kigbo added 1 commit

    added 1 commit

    • 8d154dbf - Remove unused duplicate helper

    Compare with previous version

  • Julie Huang requested review from @psimyn

    requested review from @psimyn

  • Julie Huang approved this merge request

    approved this merge request

  • added pipelinetier-2 label and removed pipelinetier-1 label

  • Before you set this MR to auto-merge

    This merge request will progress on pipeline tiers until it reaches the last tier: pipelinetier-3. We will trigger a new pipeline for each transition to a higher tier.

    Before you set this MR to auto-merge, please check the following:

    • You are the last maintainer of this merge request
    • The latest pipeline for this merge request is pipelinetier-3 (You can find which tier it is in the pipeline name)
    • This pipeline is recent enough (created in the last 8 hours)

    If all the criteria above apply, please set auto-merge for this merge request.

    See pipeline tiers and merging a merge request for more details.

  • Simon Knox
  • Simon Knox
  • Simon Knox approved this merge request

    approved this merge request

  • Simon Knox resolved all threads

    resolved all threads

  • neither question was blocking; LGTM

  • Simon Knox enabled automatic add to merge train when checks pass

    enabled automatic add to merge train when checks pass

  • merged

  • Simon Knox mentioned in commit 17dfcf58

    mentioned in commit 17dfcf58

  • added workflowstaging label and removed workflowcanary label

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading