Skip to content
Snippets Groups Projects

Rewrite Pipeline Graph in Vue.js to allow realtime

Merged Filipa Lacerda requested to merge 25226-realtime-pipelines-fe into master
All threads resolved!

What does this MR do?

Frontend part of making pipelines graph realtime.

Transform existing haml into vue:

  • Create vue bundle

  • Create graph component

  • Create stage component

  • Create badge component reusable between the big graph and the dropdown with jobs

  • Create dropdown component

  • Create tests for all new components

  • Fixes HTML structure of job dropdown

  • - [ ] Remove USJ for actions calls Let's go with baby steps and remove this in a second iteration

Screenshots

Note: the arrow in the dropdown is not visible because this branch is not synced to master - this bug is already fixed in master

pipelines

Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #25226 (closed) Closes #31557 (closed)

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
  • Filipa Lacerda added 2 commits

    added 2 commits

    • 4f17b416 - Keep old HTML strucutre in action actions
    • 61c19852 - Remove unused code

    Compare with previous version

  • Filipa Lacerda added 1 commit

    added 1 commit

    Compare with previous version

  • Filipa Lacerda marked the checklist item Squashed related commits together as completed

    marked the checklist item Squashed related commits together as completed

  • Filipa Lacerda marked the checklist item Squashed related commits together as incomplete

    marked the checklist item Squashed related commits together as incomplete

  • Filipa Lacerda marked the checklist item Branch has no merge conflicts with master (if it does - rebase it please) as completed

    marked the checklist item Branch has no merge conflicts with master (if it does - rebase it please) as completed

  • Filipa Lacerda marked the checklist item Conform by the style guides as completed

    marked the checklist item Conform by the style guides as completed

  • Filipa Lacerda marked the checklist item Conform by the merge request performance guides as completed

    marked the checklist item Conform by the merge request performance guides as completed

  • Filipa Lacerda marked the checklist item Changelog entry added, if necessary as completed

    marked the checklist item Changelog entry added, if necessary as completed

  • Author Maintainer

    @iamphill this has 28 filed changes and no tests yet. 🙈 And still have to delete the old haml files 😂

    Some of the changes are whitespace.

    I am going to create a new branch from this one with the tests and without the old haml files, or this will be impossible to review.

  • Filipa Lacerda unmarked as a Work In Progress

    unmarked as a Work In Progress

  • Author Maintainer

    Builds in this MR will fail, tests are in this MR: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10972

    @iamphill some tiny details were changes on that MR 😊 can you please review?

    Edited by Filipa Lacerda
  • Filipa Lacerda marked the checklist item Create tests for all new components as completed

    marked the checklist item Create tests for all new components as completed

  • Phil Hughes
  • Phil Hughes
  • Phil Hughes
  • Its looking great! 👍

  • assigned to @filipa

  • mentioned in issue #31557 (closed)

  • Filipa Lacerda added 2 commits

    added 2 commits

    Compare with previous version

  • Filipa Lacerda resolved all discussions

    resolved all discussions

  • Author Maintainer

    @iamphill I believe I fixed them all :)

    Going to update the part 2 with these changes, can you please review this one again? Thank you!

    (we should merge the part 2 into this one first, I think)

  • Filipa Lacerda added 1 commit

    added 1 commit

    • 392c39a2 - Move status classes logic to common file

    Compare with previous version

  • Phil Hughes
  • Phil Hughes
  • @filipa What are the steps after this is completed? Get the tests merged into this & then this into master?

  • assigned to @filipa

  • mentioned in issue #31570 (closed)

  • Author Maintainer

    @iamphill steps are:

    1. Merge the tests one first https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10972 into this MR. - we can do that now if you think they are good

    2. Merge this MR into @zj MR/branch - https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10777

    3. @ayufan will probably review and merge into master :)

    This can't be merged into master directly.

    Also, the API changes in this one https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10777 break the pipelines table - mini graph is not rendered with the data we receive now, so we wither revert the changes done to pipelines.json or we open a new MR to fix the frontend. @ayufan @zj let me know what we should do here 😊

  • Filipa Lacerda resolved all discussions

    resolved all discussions

  • Filipa Lacerda added 1 commit

    added 1 commit

    Compare with previous version

  • Filipa Lacerda added 1 commit

    added 1 commit

    Compare with previous version

  • Filipa Lacerda mentioned in merge request !10972 (merged)

    mentioned in merge request !10972 (merged)

  • Author Maintainer

    @iamphill we need to wait for backend to be merged first. I will ping you when we can merge this one into master! 💪

  • Phil Hughes added 2 commits

    added 2 commits

    • 4a74c82c - Part 2 of realtime pipeline graph
    • 36e86035 - Merge branch '25226-realtime-pipelines-fe-tests' into '25226-realtime-pipelines-fe'

    Compare with previous version

  • Filipa Lacerda marked the checklist item Added for this feature/bug as completed

    marked the checklist item Added for this feature/bug as completed

  • Author Maintainer

    We'll wait for backend to be merged.

    Data schema will probably change

  • Filipa Lacerda mentioned in merge request !11033 (merged)

    mentioned in merge request !11033 (merged)

  • Filipa Lacerda added 770 commits

    added 770 commits

    • 36e86035...b50a73b5 - 769 commits from branch zj-real-time-pipelines
    • b3bdb894 - Merge branch 'zj-real-time-pipelines' into 25226-realtime-pipelines-fe

    Compare with previous version

  • mentioned in issue #31415 (closed)

  • Filipa Lacerda added 1 commit

    added 1 commit

    • 7eaf0b0f - Adjust to new ci status file

    Compare with previous version

  • Filipa Lacerda changed title from Resolve "Update individual pipeline view in real-time or at least refresh (rewrite in Vue)" to Rewrite Pipeline Graph in Vue.js to allow realtime

    changed title from Resolve "Update individual pipeline view in real-time or at least refresh (rewrite in Vue)" to Rewrite Pipeline Graph in Vue.js to allow realtime

  • Filipa Lacerda added 1 commit

    added 1 commit

    • f74a883e - Fix HTML structure of dropdown

    Compare with previous version

  • Filipa Lacerda added 3 commits

    added 3 commits

    • f74a883e...bae2b0f2 - 2 commits from branch zj-real-time-pipelines
    • da27f41b - Merge branch 'zj-real-time-pipelines' into 25226-realtime-pipelines-fe

    Compare with previous version

  • Filipa Lacerda added 1 commit

    added 1 commit

    Compare with previous version

  • @filipa Changes look good. Assigning back to you until we are ready to merge 👍

  • assigned to @filipa

  • Filipa Lacerda added 2 commits

    added 2 commits

    • 6a89a2ba - 1 commit from branch zj-real-time-pipelines
    • 888ab89f - Merge branch 'zj-real-time-pipelines' into 25226-realtime-pipelines-fe

    Compare with previous version

  • Filipa Lacerda added 1 commit

    added 1 commit

    Compare with previous version

  • Filipa Lacerda added 1 commit

    added 1 commit

    • 3c1a878d - Fix linter error in spec file

    Compare with previous version

  • added 116 commits

    • 3c1a878d...e9e71a9c - 115 commits from branch zj-real-time-pipelines
    • dc1b5d96 - Merge branch 'zj-real-time-pipelines' into '25226-realtime-pipelines-fe'

    Compare with previous version

  • Kamil Trzcińśki changed target branch from zj-real-time-pipelines to master

    changed target branch from zj-real-time-pipelines to master

  • mentioned in commit aa440eb1

  • @filipa I did rebase and squash your changes on top of https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10777 which is merged to master.

    Is it safe for me to merge that as it seems that frontend is reviewed already? is that correct @iamphill @filipa?

  • Kamil Trzcińśki added 183 commits

    added 183 commits

    • dc1b5d96...c17e6a6c - 182 commits from branch master
    • aa440eb1 - Single commit squash of all changes for https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10878

    Compare with previous version

  • Filipa Lacerda added 54 commits

    added 54 commits

    Compare with previous version

  • Author Maintainer

    @ayufan one of the tests is failing but I do not how to fix it: https://gitlab.com/gitlab-org/gitlab-ce/builds/15747350

    The reason why is breaking is because is not waiting for Vue to mount the component. It shows the haml container #js-pipeline-graph-vue. Vue component should mount on this and replace it, but this div is empty.

    It is probably not waiting for this file to run app/assets/javascripts/pipelines/graph_bundle.js but I am not sure how to make it wait.

    I am not sure why it is failing or how to fix it. 🤔 😭 Do you have any idea?

  • assigned to @ayufan

  • Author Maintainer

    @ayufan I am not sure if this makes any sense but I don't think we use views test to test code with JS 🤔 and the failing test is covered on this one spec/features/projects/pipelines already, does it make sense to delete it? 🤔

  • Author Maintainer

    @grzesiek @ayufan I need help here 😅

  • assigned to @filipa

  • @filipa I moved the test to a controller as you need Javascript helpers to work. It displays Pipeline Graph now, so you have to tune selectors only and we should be just fine.

  • added 1 commit

    • c195b313 - Make test that actually displays pipeline graph

    Compare with previous version

  • added 1 commit

    Compare with previous version

  • Kamil Trzcińśki approved this merge request

    approved this merge request

  • mentioned in commit 8cd578a7

  • Filipa Lacerda mentioned in commit f671f819

    mentioned in commit f671f819

  • Filipa Lacerda mentioned in merge request !11167 (merged)

    mentioned in merge request !11167 (merged)

  • mentioned in issue #36072 (closed)

  • Please register or sign in to reply
    Loading