Skip to content
Snippets Groups Projects

Project repository replication via SSF

All threads resolved!

What does this MR do and why?

This MR migrates Project repositories to SSF Geo framework.

Screenshots or screen recordings

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

How to set up and validate locally

Numbered steps to set up and validate the change are strongly suggested.

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 Michael Kozono

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
  • Valery Sizov added 1 commit

    added 1 commit

    Compare with previous version

  • Valery Sizov added 877 commits

    added 877 commits

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • 5afa6c90 - Add conditional Project category in admin area

    Compare with previous version

  • Valery Sizov added 243 commits

    added 243 commits

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • de076870 - Project repository replication via SSF

    Compare with previous version

  • Ghost User
  • Valery Sizov added 1 commit

    added 1 commit

    • 0d8781eb - Project repository replication via SSF

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • be350719 - Project repository replication via SSF

    Compare with previous version

  • Valery Sizov marked this merge request as ready

    marked this merge request as ready

  • Valery Sizov added 1 commit

    added 1 commit

    • 1ebed515 - Project repository replication via SSF

    Compare with previous version

  • Valery Sizov requested review from @aakriti.gupta

    requested review from @aakriti.gupta

  • Author Contributor

    @aakriti.gupta It’s ready for review, I still didn't finish my manual testing though.

  • Aakriti Gupta
  • Aakriti Gupta
  • Hey @vsizov I have reviewed about the half the MR. I still need to review the tests, but wanted to get this out to you sooner, because my day is split and it might take me sometime today, to finish the review (most likely by my EoD)

  • mentioned in issue #415488 (closed)

  • Valery Sizov added 1 commit

    added 1 commit

    • 26c034d4 - Apply 4 suggestion(s) to 4 file(s)

    Compare with previous version

  • Contributor

    :warning: @vsizov Some end-to-end (E2E) tests have been selected based on the stage label on this MR. If not run already, please run the e2e:package-and-test-ee job in the qa stage and review the results before merging this MR. (E2E tests are not run automatically on some MRs due to runner resource constraints.)

    If you would like to run all e2e tests, please apply the pipeline:run-all-e2e label and restart the pipeline.

    Once done, please apply the :white_check_mark: emoji on this comment.

    For any questions or help in reviewing the E2E test results, please reach out on the internal #quality Slack channel.

  • Valery Sizov added 556 commits

    added 556 commits

    Compare with previous version

  • Aakriti Gupta
  • Aakriti Gupta
  • Just left some more non-blocking comments, feel free to make follow-up issues as you see fit, to speed up getting this merged.

  • Aakriti Gupta approved this merge request

    approved this merge request

  • :wave: @aakriti.gupta, thanks for approving this merge request.

    This is the first time the merge request is approved. To ensure full test coverage, a new pipeline will be started shortly.

    For more info, please refer to the following links:

  • Aakriti Gupta removed review request for @aakriti.gupta

    removed review request for @aakriti.gupta

  • The pipeline is red too - please look into it.

  • Valery Sizov added 281 commits

    added 281 commits

    Compare with previous version

  • mentioned in issue #415614 (closed)

  • Valery Sizov added 1 commit

    added 1 commit

    Compare with previous version

  • Valery Sizov requested review from @dbalexandre

    requested review from @dbalexandre

  • @vsizov Could you please test if project repo verification passes on primary when the git repo is missing?

    I am adding in an instruction for it here !124174 (merged) (assigned to you for review).

    Please see this bug report of an error that occurs for design repos, but misght be happening for project repos as well: #385977 (closed)

  • changed milestone to %16.2

  • removed review request for @dbalexandre

  • Valery Sizov added 380 commits

    added 380 commits

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • fb221347 - PorojectState: use default primary key

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    Compare with previous version

  • Valery Sizov added 471 commits

    added 471 commits

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • c47b5882 - Fix graphQL query in admin area

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • 02da025c - Fix graphQL query in admin area

    Compare with previous version

  • Valery Sizov added 246 commits

    added 246 commits

    Compare with previous version

  • Valery Sizov requested review from @dbalexandre

    requested review from @dbalexandre

  • Valery Sizov added 1 commit

    added 1 commit

    • ed55c1c6 - Fix graphQL query in admin area

    Compare with previous version

  • Valery Sizov added 159 commits

    added 159 commits

    Compare with previous version

  • Valery Sizov requested review from @mkozono and removed review request for @dbalexandre

    requested review from @mkozono and removed review request for @dbalexandre

  • Michael Kozono mentioned in merge request !125044 (merged)

    mentioned in merge request !125044 (merged)

  • Michael Kozono
  • Michael Kozono
  • Michael Kozono
  • Michael Kozono
  • Michael Kozono removed review request for @mkozono

    removed review request for @mkozono

  • mentioned in issue #367926 (closed)

  • Valery Sizov added 1 commit

    added 1 commit

    • b532ea4f - Project repository replication via SSF

    Compare with previous version

  • Valery Sizov added 1383 commits

    added 1383 commits

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • fe717035 - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • 2f2906e0 - Project repository replication via SSF

    Compare with previous version

  • Valery Sizov requested review from @mkozono

    requested review from @mkozono

  • Michael Kozono approved this merge request

    approved this merge request

  • Michael Kozono removed review request for @mkozono

    removed review request for @mkozono

  • Valery Sizov added 1 commit

    added 1 commit

    • 8ffb155f - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • Valery Sizov added 1 commit

    added 1 commit

    • 28757958 - Apply 1 suggestion(s) to 1 file(s)

    Compare with previous version

  • Valery Sizov requested review from @mkozono

    requested review from @mkozono

  • Michael Kozono resolved all threads

    resolved all threads

  • Michael Kozono approved this merge request

    approved this merge request

  • Michael Kozono marked the checklist item I have evaluated the MR acceptance checklist for this MR. as completed

    marked the checklist item I have evaluated the MR acceptance checklist for this MR. as completed

  • Note: Danger requests frontend, database, and test review. This is the final MR migrating datatypes to the new code, so most of these changes have been reviewed many times. To state it out loud, I don't think blocking on those reviews is worth the person-hours it would cost.

    • Database review is triggered by our adding a Finder class which only includes a single module.
    • I think test review is triggered by adding a feature flag stub to a feature spec.
    • Technical writing review is suggested, but the changes are all boilerplate, some of which are autogenerated, so I won't request that review.
    • frontend changes are triggered by adding a feature flag to code which is only relevant when the feature flag is off.
    Edited by Michael Kozono
  • @vsizov Thanks for getting this over the line! :thumbsup: :blue_heart: :rocket: Setting MWPS

  • Michael Kozono enabled an automatic merge when the pipeline for 26a79fa6 succeeds

    enabled an automatic merge when the pipeline for 26a79fa6 succeeds

  • Failure looks unrelated. Retrying the job.

    1st Try error in ./spec/features/issues/service_desk_spec.rb:203:
    expected to find text "by GitLab Support Bot" in "Skip to content GitLab / Help P Project-1 Name Project information Issues 2 List Boards Service Desk Milestones CI/CD Security and Compliance Deployments Packages and registries Infrastructure Monitor Analytics Wiki Snippets Settings Collapse sidebar Sidney Jones2 Project-1 Name Service Desk Open 1 Closed 0 All 1 Toggle history Please select at least one filter to see results"
    Timeout (30s) reached while running a waiting Capybara finder.
    Consider using a non-waiting finder.
    See https://www.cloudbees.com/blog/faster-rails-tests
    Unexpected browser console output:
    http://127.0.0.1:39655/assets/webpack/dll.ce7eabf38a7a/vendor.dll.bundle.js 285138:26 "Cache data may be lost when replacing the issues field of a Project object.\n\nTo address this problem (which is not a bug in Apollo Client), either ensure all objects of type IssueConnection have an ID or a custom merge function, or define a custom merge function for the Project.issues field, so InMemoryCache can safely merge these objects:\n\n  existing: {\"__persist\":true,\"pageInfo\":{\"__typename\":\"PageInfo\",\"hasNextPage\":false,\"hasPreviousPage\":false,\"startCursor\":\"eyJjcmVhdGVkX2F0IjoiMjAyMy0wNy0wNiAxOTowODoyMC44NzMzNzIwMDAgKzAwMDAiLCJpZCI6IjIyIn0\",\"endCursor\":\"eyJjcmVhdGVkX2F0IjoiMjAyMy0wNy0wNiAxOTowODoyMC44NzMzNzIwMDAgKzAwMDAiLCJpZCI6IjIyIn0\"},\"nodes\":[{\"__ref\":\"Issue:gid://gitlab/Issue/22\"}]}\n  incoming: {\"__typename\":\"IssueConnection\",\"count\":1}\n\nFor more information about these options, please refer to the documentation:\n\n  * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\n  * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\n"
                
    RSpec::Retry: 2nd try ./spec/features/issues/service_desk_spec.rb:203
      HTML screenshot: /builds/gitlab-org/gitlab/tmp/capybara/service_desk_issue_tracker_issues_list_when_service_desk_vue_list_feature_flag_is_enabled_when_there_are_issues_issues_list_shows_service_desk_reply_to.html
      Image screenshot: /tmp/capybara/service_desk_issue_tracker_issues_list_when_service_desk_vue_list_feature_flag_is_enabled_when_there_are_issues_issues_list_shows_service_desk_reply_to.png
    Failures:
      1) Service Desk Issue Tracker issues list when service_desk_vue_list feature flag is enabled when there are issues issues list shows service_desk_reply_to in issues list
         Got 1 failure and 1 other error:
         1.1) Failure/Error: expect(page).to have_text('by GitLab Support Bot')
                expected to find text "by GitLab Support Bot" in "Skip to content GitLab / Help P Project-1 Name Project information Issues 2 List Boards Service Desk Milestones CI/CD Security and Compliance Deployments Packages and registries Infrastructure Monitor Analytics Wiki Snippets Settings Collapse sidebar Sidney Jones2 Project-1 Name Service Desk Open 1 Closed 0 All 1 Toggle history Please select at least one filter to see results"
                Timeout (30s) reached while running a waiting Capybara finder.
                Consider using a non-waiting finder.
                See https://www.cloudbees.com/blog/faster-rails-tests
              # ./spec/features/issues/service_desk_spec.rb:204:in `block (6 levels) in <main>'
              # ./spec/spec_helper.rb:444:in `block (3 levels) in <top (required)>'
              # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'
              # ./spec/spec_helper.rb:435:in `block (2 levels) in <top (required)>'
              # ./spec/spec_helper.rb:431:in `block (3 levels) in <top (required)>'
              # ./lib/gitlab/application_context.rb:66:in `with_raw_context'
              # ./spec/spec_helper.rb:431:in `block (2 levels) in <top (required)>'
              # ./spec/spec_helper.rb:268:in `block (2 levels) in <top (required)>'
              # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <main>'
              # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <main>'
              # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <main>'
              # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
              # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <main>'
         1.2) Failure/Error: raise JSConsoleError, message
              JSConsoleError:
                Unexpected browser console output:
                http://127.0.0.1:39655/assets/webpack/dll.ce7eabf38a7a/vendor.dll.bundle.js 285138:26 "Cache data may be lost when replacing the issues field of a Project object.\n\nTo address this problem (which is not a bug in Apollo Client), either ensure all objects of type IssueConnection have an ID or a custom merge function, or define a custom merge function for the Project.issues field, so InMemoryCache can safely merge these objects:\n\n  existing: {\"__persist\":true,\"pageInfo\":{\"__typename\":\"PageInfo\",\"hasNextPage\":false,\"hasPreviousPage\":false,\"startCursor\":\"eyJjcmVhdGVkX2F0IjoiMjAyMy0wNy0wNiAxOTowODoyMC44NzMzNzIwMDAgKzAwMDAiLCJpZCI6IjIyIn0\",\"endCursor\":\"eyJjcmVhdGVkX2F0IjoiMjAyMy0wNy0wNiAxOTowODoyMC44NzMzNzIwMDAgKzAwMDAiLCJpZCI6IjIyIn0\"},\"nodes\":[{\"__ref\":\"Issue:gid://gitlab/Issue/22\"}]}\n  incoming: {\"__typename\":\"IssueConnection\",\"count\":1}\n\nFor more information about these options, please refer to the documentation:\n\n  * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\n  * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\n"
              # ./spec/support/capybara.rb:220:in `block (2 levels) in <main>'
              # ./spec/spec_helper.rb:444:in `block (3 levels) in <top (required)>'
              # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'
              # ./spec/spec_helper.rb:435:in `block (2 levels) in <top (required)>'
              # ./spec/spec_helper.rb:431:in `block (3 levels) in <top (required)>'
              # ./lib/gitlab/application_context.rb:66:in `with_raw_context'
              # ./spec/spec_helper.rb:431:in `block (2 levels) in <top (required)>'
              # ./spec/spec_helper.rb:268:in `block (2 levels) in <top (required)>'
              # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <main>'
              # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <main>'
              # ./spec/support/database/prevent_cross_joins.rb:106:in `block (3 levels) in <main>'
              # ./spec/support/database/prevent_cross_joins.rb:60:in `with_cross_joins_prevented'
              # ./spec/support/database/prevent_cross_joins.rb:106:in `block (2 levels) in <main>'
    Finished in 1 minute 14 seconds (files took 39.95 seconds to load)
    1 example, 1 failure
    Failed examples:
    rspec ./spec/features/issues/service_desk_spec.rb:203 # Service Desk Issue Tracker issues list when service_desk_vue_list feature flag is enabled when there are issues issues list shows service_desk_reply_to in issues list

    I also retried a start-as-if-jh job, which succeeded and allowed another job to run, and eventually the whole pipeline succeeded.

    Edited by Michael Kozono
  • merged

  • Michael Kozono mentioned in commit 9e988f5c

    mentioned in commit 9e988f5c

  • added workflowstaging label and removed workflowcanary label

  • Please register or sign in to reply
    Loading