Skip to content
Snippets Groups Projects

Added merge checks component to mr_widget_options

Merged Phil Hughes requested to merge ph/mergeChecksInWidget into master

What does this MR do and why?

This adds the checks component into the widget app so that it renders to users. Also added realtime to the merge checks component by using an existing subscription.

Screenshots or screen recordings

Screenshots are required for UI changes, and strongly recommended for all other merge requests.

Before After

How to set up and validate locally

  • Enable merge_blocked_component feature flag
  • Visit a merge request
  • See Merge blocked... component in the merge widget

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 Phil Hughes

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
  • 3 Warnings
    :warning: 3577d152: 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:

    featureaddition and featureenhancement merge requests normally have a documentation change. Consider adding a documentation update or confirming the documentation plan with the Technical Writer counterpart.

    For more information, see:

    :warning: This merge request does not refer to an existing milestone.
    2 Messages
    :book: This merge request includes changes to Vue files that have both CE and EE versions.
    :book: CHANGELOG missing:

    If this merge request needs a changelog entry, add the Changelog trailer to the commit message you want to add to the changelog.

    If this merge request doesn't need a CHANGELOG entry, feel free to ignore this message.

    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/vue_merge_request_widget/mr_widget_options.vue
    • ee/app/assets/javascripts/vue_merge_request_widget/mr_widget_options.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

    Reviewer roulette

    Changes that require review have been detected!

    Please refer to the table below for assigning reviewers and maintainers suggested by Danger in the specified category:

    Category Reviewer Maintainer
    backend @marcogreg profile link current availability (UTC+8, 8 hours ahead of author) @felipe_artur profile link current availability (UTC-3, 3 hours behind author)
    frontend @syarynovskyi profile link current availability (UTC+2, 2 hours ahead of author) @mlunoe profile link current availability (UTC+1, 1 hour ahead of author)
    QA @svistas profile link current availability (UTC+1, 1 hour ahead of author) Maintainer review is optional for QA
    test for spec/features/* @nprabakaran profile link current availability (UTC+5.5, 5.5 hours ahead of author) Maintainer review is optional for test for spec/features/*

    Please check reviewer's status!

    • available Reviewer is available!
    • unavailable Reviewer is unavailable!

    Feel free to override these selections if you think someone else would be better-suited or use the GitLab Review Workload Dashboard to find other available reviewers.

    To read more on how to use the reviewer roulette, please take a look at the Engineering workflow and code review guidelines. Please consider assigning a reviewer or maintainer who is a domain expert in the area of the merge request.

    Once you've decided who will review this merge request, assign them as a reviewer! Danger does not automatically notify them for you.

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

    Generated by :no_entry_sign: Danger

    Edited by Ghost User
  • Bundle size analysis [beta]

    This compares changes in bundle size for entry points between the commits 2270b490 and 51fe994b

    :sparkles: Special assets

    Entrypoint / Name Size before Size after Diff Diff in percent
    average 4.06 MB 4.06 MB - 0.0 %
    mainChunk 3.05 MB 3.05 MB - 0.0 %

    Note: We do not have exact data for 2270b490. So we have used data from: a69f0c95.
    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

    Edited by Ghost User
    • Resolved by Phil Hughes

      Allure report

      allure-report-publisher generated test report!

      e2e-test-on-gdk: :white_check_mark: test report for 51fe994b

      expand test summary
      +-----------------------------------------------------------------------+
      |                            suites summary                             |
      +------------------+--------+--------+---------+-------+-------+--------+
      |                  | passed | failed | skipped | flaky | total | result |
      +------------------+--------+--------+---------+-------+-------+--------+
      | Plan             | 55     | 0      | 0       | 0     | 55    | ✅     |
      | Data Stores      | 22     | 0      | 0       | 0     | 22    | ✅     |
      | Create           | 40     | 0      | 7       | 0     | 47    | ✅     |
      | Verify           | 32     | 0      | 0       | 0     | 32    | ✅     |
      | Framework sanity | 0      | 0      | 1       | 0     | 1     | ➖     |
      | Govern           | 57     | 0      | 0       | 0     | 57    | ✅     |
      | Monitor          | 8      | 0      | 0       | 0     | 8     | ✅     |
      | Package          | 0      | 0      | 1       | 0     | 1     | ➖     |
      | Manage           | 0      | 0      | 1       | 0     | 1     | ➖     |
      +------------------+--------+--------+---------+-------+-------+--------+
      | Total            | 214    | 0      | 10      | 0     | 224   | ✅     |
      +------------------+--------+--------+---------+-------+-------+--------+

      e2e-package-and-test: :x: test report for 51fe994b

      expand test summary
      +-----------------------------------------------------------------------+
      |                            suites summary                             |
      +------------------+--------+--------+---------+-------+-------+--------+
      |                  | passed | failed | skipped | flaky | total | result |
      +------------------+--------+--------+---------+-------+-------+--------+
      | Package          | 259    | 1      | 21      | 0     | 281   | ❌     |
      | Create           | 673    | 0      | 84      | 0     | 757   | ✅     |
      | Verify           | 184    | 0      | 36      | 0     | 220   | ✅     |
      | Plan             | 328    | 0      | 13      | 0     | 341   | ✅     |
      | Secure           | 8      | 0      | 4       | 0     | 12    | ✅     |
      | Data Stores      | 153    | 0      | 1       | 2     | 154   | ❗     |
      | Govern           | 382    | 5      | 26      | 4     | 413   | ❌     |
      | Systems          | 8      | 0      | 0       | 0     | 8     | ✅     |
      | Analytics        | 9      | 0      | 0       | 0     | 9     | ✅     |
      | Manage           | 44     | 0      | 11      | 16    | 55    | ❗     |
      | Release          | 20     | 0      | 4       | 0     | 24    | ✅     |
      | GitLab Metrics   | 2      | 0      | 1       | 0     | 3     | ✅     |
      | Fulfillment      | 10     | 0      | 92      | 0     | 102   | ✅     |
      | Monitor          | 48     | 0      | 9       | 0     | 57    | ✅     |
      | Configure        | 1      | 0      | 12      | 0     | 13    | ✅     |
      | Framework sanity | 0      | 0      | 6       | 0     | 6     | ➖     |
      | ModelOps         | 0      | 0      | 8       | 0     | 8     | ➖     |
      | Growth           | 0      | 0      | 8       | 0     | 8     | ➖     |
      +------------------+--------+--------+---------+-------+-------+--------+
      | Total            | 2129   | 6      | 336     | 22    | 2471  | ❌     |
      +------------------+--------+--------+---------+-------+-------+--------+

      e2e-review-qa: :white_check_mark: test report for 51fe994b

      expand test summary
      +-----------------------------------------------------------------------+
      |                            suites summary                             |
      +------------------+--------+--------+---------+-------+-------+--------+
      |                  | passed | failed | skipped | flaky | total | result |
      +------------------+--------+--------+---------+-------+-------+--------+
      | Data Stores      | 2      | 0      | 0       | 0     | 2     | ✅     |
      | Create           | 8      | 0      | 2       | 0     | 10    | ✅     |
      | Monitor          | 4      | 0      | 0       | 0     | 4     | ✅     |
      | Framework sanity | 0      | 0      | 1       | 0     | 1     | ➖     |
      | Package          | 0      | 0      | 1       | 0     | 1     | ➖     |
      | Govern           | 3      | 0      | 0       | 0     | 3     | ✅     |
      | Plan             | 3      | 0      | 1       | 0     | 4     | ✅     |
      +------------------+--------+--------+---------+-------+-------+--------+
      | Total            | 20     | 0      | 5       | 0     | 25    | ✅     |
      +------------------+--------+--------+---------+-------+-------+--------+
      Edited by Ghost User
  • Phil Hughes added 1 commit

    added 1 commit

    • 3bf61d98 - Updated get_state_key to sometimes not render state components

    Compare with previous version

  • mentioned in issue #431389 (closed)

  • Phil Hughes added 1 commit

    added 1 commit

    Compare with previous version

  • :tools: Generated by gitlab_quality-test_tooling.

    :recycle: Please share your feedback and suggestions.


    :snail: Slow tests detected in this merge request, might be related with changed RSpec files.

    Job File Name Duration Expected duration
    #5500288154 spec/features/merge_request/user_merges_only_if_pipeline_succeeds_spec.rb#L59 Merge request > User merges only if pipeline succeeds when project has CI enabled when merge requests can only be merged if the pipeline succeeds when CI failed does not allow MR to be merged 83.07 s < 50.13 s
    #5500288154 spec/features/merge_request/user_merges_only_if_pipeline_succeeds_spec.rb#L72 Merge request > User merges only if pipeline succeeds when project has CI enabled when merge requests can only be merged if the pipeline succeeds when CI canceled does not allow MR to be merged 80.57 s < 50.13 s
    #5500311539 spec/features/merge_request/user_sees_merge_button_depending_on_unresolved_discussions_spec.rb#L23 Merge request > User sees merge button depending on unresolved threads when project.only_allow_merge_if_all_discussions_are_resolved == true with unresolved threads does not allow to merge 81.52 s < 50.13 s
    #5500288110 spec/features/merge_request/user_sees_merge_widget_spec.rb#L175 Merge request > User sees merge widget when merge request is in the blocked pipeline state and pipeline must succeed shows information about blocked pipeline 75.7 s < 50.13 s
    #5500288110 spec/features/merge_request/user_sees_merge_widget_spec.rb#L398 Merge request > User sees merge widget view merge request where fast-forward merge is not possible shows information about the merge error 75.72 s < 50.13 s
    #5500549457 spec/features/merge_request/user_resolves_conflicts_spec.rb#L135 Merge request > User resolves conflicts can be resolved in the UI the conflict contain markers conflicts can not be resolved in Interactive mode 76.76 s < 50.13 s
    #5500533284 spec/features/merge_request/user_resolves_conflicts_spec.rb#L135 Merge request > User resolves conflicts can be resolved in the UI the conflict contain markers conflicts can not be resolved in Interactive mode 80.46 s < 50.13 s
    #5500454519 spec/features/merge_request/user_resolves_conflicts_spec.rb#L135 Merge request > User resolves conflicts can be resolved in the UI the conflict contain markers conflicts can not be resolved in Interactive mode 79.97 s < 50.13 s
    #5502645042 spec/features/merge_request/user_rebases_merge_request_spec.rb#L32 User rebases a merge request when merge is regular behaves like rebases rebases 74.64 s < 50.13 s
    #5502645042 spec/features/merge_request/user_rebases_merge_request_spec.rb#L38 User rebases a merge request when merge is ff-only behaves like rebases rebases 75.3 s < 50.13 s
    #5502595709 spec/features/merge_request/user_rebases_merge_request_spec.rb#L32 User rebases a merge request when merge is regular behaves like rebases rebases 81.7 s < 50.13 s
    #5502595709 spec/features/merge_request/user_rebases_merge_request_spec.rb#L38 User rebases a merge request when merge is ff-only behaves like rebases rebases 80.69 s < 50.13 s
    #5502594987 spec/features/merge_request/user_rebases_merge_request_spec.rb#L32 User rebases a merge request when merge is regular behaves like rebases rebases 81.64 s < 50.13 s
    #5502594987 spec/features/merge_request/user_rebases_merge_request_spec.rb#L38 User rebases a merge request when merge is ff-only behaves like rebases rebases 79.57 s < 50.13 s
    #5502594955 spec/features/merge_request/user_rebases_merge_request_spec.rb#L32 User rebases a merge request when merge is regular behaves like rebases rebases 82.55 s < 50.13 s
    #5502594955 spec/features/merge_request/user_rebases_merge_request_spec.rb#L38 User rebases a merge request when merge is ff-only behaves like rebases rebases 80.69 s < 50.13 s
    #5502595226 spec/features/merge_request/user_rebases_merge_request_spec.rb#L32 User rebases a merge request when merge is regular behaves like rebases rebases 79.13 s < 50.13 s
    #5502595226 spec/features/merge_request/user_rebases_merge_request_spec.rb#L38 User rebases a merge request when merge is ff-only behaves like rebases rebases 91.07 s < 50.13 s
    #5508570147 spec/features/projects_spec.rb#L72 Project template create with project template behaves like creates from template is created from template 306.23 s < 50.13 s
    #5508570147 spec/features/projects_spec.rb#L342 Project tree view (default view is set to Files) for signed commit on default branch displays a GPG badge 68.21 s < 50.13 s
    #5508571177 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L97 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and does nothing if the user selects "Cancel" 73.34 s < 50.13 s
    #5508571177 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L108 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately while restarting the train after the user confirms 73.35 s < 50.13 s
    #5508571177 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L112 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately without restarting the train after the user confirms 73.09 s < 50.13 s
    #5508571140 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L97 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and does nothing if the user selects "Cancel" 76.78 s < 50.13 s
    #5508571140 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L108 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately while restarting the train after the user confirms 76.23 s < 50.13 s
    #5508571140 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L112 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately without restarting the train after the user confirms 74.98 s < 50.13 s
    #5509239582 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L97 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and does nothing if the user selects "Cancel" 74.05 s < 50.13 s
    #5509239582 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L108 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately while restarting the train after the user confirms 73.38 s < 50.13 s
    #5509239582 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L112 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately without restarting the train after the user confirms 73.59 s < 50.13 s
    #5509239609 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L97 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and does nothing if the user selects "Cancel" 73.03 s < 50.13 s
    #5509239609 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L108 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately while restarting the train after the user confirms 72.97 s < 50.13 s
    #5509239609 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L112 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately without restarting the train after the user confirms 73.36 s < 50.13 s
    #5518579129 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L97 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and does nothing if the user selects "Cancel" 78.03 s < 50.13 s
    #5518579129 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L108 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately while restarting the train after the user confirms 76.47 s < 50.13 s
    #5518579129 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L112 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately without restarting the train after the user confirms 75.57 s < 50.13 s
    #5518579141 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L97 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and does nothing if the user selects "Cancel" 78.17 s < 50.13 s
    #5518579141 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L108 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately while restarting the train after the user confirms 76.54 s < 50.13 s
    #5518579141 ee/spec/features/merge_request/user_merges_immediately_spec.rb#L112 Merge requests > User merges immediately when the merge request is on the merge train and the merge_trains_skip_train feature flag is enabled shows a warning dialog and merges immediately without restarting the train after the user confirms 76.28 s < 50.13 s
    #5520557749 spec/features/dashboard/projects_spec.rb#L244 Dashboard Projects avoids an N+1 query in dashboard index 125.26 s < 50.13 s
    #5520557749 spec/features/dashboard/projects_spec.rb#L39 Dashboard Projects when user has access to the project when role changes displays the right role 62.5 s < 50.13 s
    #5520557749 spec/features/dashboard/projects_spec.rb#L94 Dashboard Projects when on Your projects tab shows personal projects on personal projects tab 62.81 s < 50.13 s
    #5520557749 spec/features/dashboard/projects_spec.rb#L230 Dashboard Projects last push widget shows "Create merge request" button 63.41 s < 50.13 s
    #5554435787 spec/features/groups/labels/subscription_spec.rb#L17 Labels subscription when signed in users can subscribe/unsubscribe to group labels 64.61 s < 50.13 s
    #5560624809 spec/features/discussion_comments/issue_spec.rb#L17 Thread Comments Issue behaves like thread comments for issue, epic and merge request when the toggle is clicked when selecting "Start thread" creating a thread can be replied to after resolving 68.02 s < 50.13 s
    #5560624752 spec/features/projects_spec.rb#L72 Project template create with project template behaves like creates from template is created from template 61.78 s < 50.13 s
    #5560624752 spec/features/projects_spec.rb#L300 Project removal deletes a project 64.78 s < 50.13 s
    #5560624752 spec/features/projects_spec.rb#L342 Project tree view (default view is set to Files) for signed commit on default branch displays a GPG badge 68.24 s < 50.13 s
    #5560624752 spec/features/projects_spec.rb#L370 Project tree view (default view is set to Files) for subgroups for signed commit displays a GPG badge 69.33 s < 50.13 s
    #5562895949 spec/features/groups/labels/subscription_spec.rb#L17 Labels subscription when signed in users can subscribe/unsubscribe to group labels 129.24 s < 50.13 s
    Edited by Ghost User
  • A deleted user added rspec:slow test detected label
  • Phil Hughes added 1 commit

    added 1 commit

    Compare with previous version

  • Phil Hughes added 1 commit

    added 1 commit

    Compare with previous version

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