1. 06 9月, 2019 1 次提交
  2. 05 9月, 2019 1 次提交
    • K
      Add structure to support EE feature of COAR · 0e40b41e
      Kerri Miller 提交于
      These are the structural changes for supporting the EE feature of moving
      "code_owner_approval_required" state from existing on a project to being
      on the protected branches individually, allowing for CODEOWNER
      validation on push events.
      0e40b41e
  3. 03 9月, 2019 1 次提交
  4. 16 8月, 2019 1 次提交
    • N
      Only read rebase status from the model · d31b733f
      Nick Thomas 提交于
      Prior to 12.1, rebase status was looked up directly from Gitaly. In
      https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14417 , a DB
      column was added to track the status instead. However, we couldn't stop
      looking at the gitaly status immediately, since some rebases may been
      running across the upgrade.
      
      Now that we're in 12.3, it is safe to remove the direct-to-gitaly
      lookup. This also happens to fix a 500 error that is seen when viewing
      an MR for a fork where the source project has been removed.
      
      We still look at the Gitaly status in the service, just in case Gitaly
      and Sidekiq get out of sync - I assume this is possible, and it's a
      relatively cheap check.
      
      Since we atomically check and set `merge_requests.rebase_jid`, we
      should never enqueue two `RebaseWorker` jobs in parallel.
      d31b733f
  5. 10 8月, 2019 1 次提交
    • I
      Split MR widget into cached and non-cached serializers · b99011af
      Igor 提交于
      Splits auto-refreshing of MR widget into 2 requests:
      
      - the one which uses etag-caching and invalidates the fields on change
      - the one without caching
      
      The idea is to gradually move all the fields to etag-cached endpoint
      b99011af
  6. 08 8月, 2019 1 次提交
  7. 01 8月, 2019 1 次提交
    • O
      Add exclusive lease to mergeability check process · f4cd926c
      Oswaldo Ferreira 提交于
      Concurrent calls to UserMergeToRef RPC updating a single ref
      can lead to an opaque fail that is being rescued at Gitaly.
      
      So this commit adds an exclusive lease to the mergeability
      check process with the key as the current MR ID.
      f4cd926c
  8. 29 7月, 2019 1 次提交
  9. 15 7月, 2019 2 次提交
  10. 11 7月, 2019 1 次提交
  11. 08 7月, 2019 1 次提交
    • S
      Fix race condition on merge train ref generation · f8d6f732
      Shinya Maeda 提交于
      Today, Pipelines for merge train run on `refs/merge`,
      however, this causes a race condition that it can be
      overwritten by CheckMergeabilityService.
      
      This patch fixes the problem by generating `refs/train`
      for those pipelines.
      f8d6f732
  12. 04 7月, 2019 1 次提交
    • N
      Allow asynchronous rebase operations to be monitored · 381468d0
      Nick Thomas 提交于
      This MR introduces tracking of the `rebase_jid` for merge requests. As
      with `merge_ongoing?`, `rebase_in_progress?` will now return true if a
      rebase is proceeding in sidekiq.
      
      After one release, we should remove the Gitaly-based lookup of rebases.
      It is much better to track this kind of thing via the database.
      381468d0
  13. 03 7月, 2019 1 次提交
  14. 25 6月, 2019 2 次提交
    • F
      Use actual_head_pipeline to enforce presence · e236fbdb
      Fabio Pitino 提交于
      e236fbdb
    • F
      Require pipeline if "Pipeline must succeed" is set · a26916d1
      Fabio Pitino 提交于
      When a user sets only_allow_merge_if_pipeline_succeeds, also named
      as "Pipeline must succeed" project setting, we require the pipeline
      to be present.
      
      This solves race condition issues especially with external CI
      providers when a build is triggered externally but no pipelines are
      created in GitLab yet.
      
      Document that a head pipeline is expected when using "Pipeline
      must succeed" setting. Also explain limitations with the use of
      only/except where there may not be any jobs created and the merge
      request will not be allowed to be merged.
      a26916d1
  15. 21 6月, 2019 1 次提交
  16. 20 6月, 2019 1 次提交
    • O
      Automatically update MR merge-ref along merge status · 3af348b6
      Oswaldo Ferreira 提交于
      This couples the code that transitions the `MergeRequest#merge_status`
      and refs/merge-requests/:iid/merge ref update.
      
      In general, instead of directly telling `MergeToRefService` to update
      the merge ref, we should rely on `MergeabilityCheckService` to keep
      both the merge status and merge ref synced. Now, if the merge_status is
      `can_be_merged` it means the merge-ref is also updated to the latest.
      
      We've also updated the logic to be more systematic and less user-based.
      3af348b6
  17. 13 6月, 2019 1 次提交
  18. 12 6月, 2019 1 次提交
  19. 06 6月, 2019 1 次提交
  20. 03 6月, 2019 1 次提交
    • S
      Abstract auto merge processes · d4b46936
      Shinya Maeda 提交于
      We have one auto merge strategy today - Merge When Pipeline
      Succeeds.
      
      In order to add more strategies for Merge Train feature,
      we abstract the architecture to be more extensible.
      
      Removed arguments
      
      Fix spec
      d4b46936
  21. 01 6月, 2019 3 次提交
    • O
      Add payload to the service response · 4246a621
      Oswaldo Ferreira 提交于
      This introduces payload to the ServiceResponse with
      the merge ref HEAD commit data
      4246a621
    • O
      Simplify merge_ref_head methods · 96db70a4
      Oswaldo Ferreira 提交于
      96db70a4
    • O
      Automatically update MR merge-ref along merge status · b965009d
      Oswaldo Ferreira 提交于
      This couples the code that transitions the `MergeRequest#merge_status`
      and refs/merge-requests/:iid/merge ref update.
      
      In general, instead of directly telling `MergeToRefService` to update
      the merge ref, we should rely on `MergeabilityCheckService` to keep
      both the merge status and merge ref synced. Now, if the merge_status is
      `can_be_merged` it means the merge-ref is also updated to the latest.
      
      We've also updated the logic to be more systematic and less user-based.
      b965009d
  22. 22 5月, 2019 1 次提交
    • S
      Fix remaining failures in shoulda-matcher · 37a335e6
      Stan Hu 提交于
      Starting with Rails 5, belongs_to now adds a presence validation to the
      association, and so as of shoulda-matchers 4.0.0 the belong_to matcher
      follows suit and tests that this validation is there by setting the
      association to nil and asserting that there are validation errors. This
      exposed an error with the `validate_branches` method: we need to check
      the source and target project exist.
      37a335e6
  23. 06 5月, 2019 1 次提交
  24. 03 5月, 2019 1 次提交
    • M
      Validate MR branch names · d8bddb16
      Mark Chao 提交于
      Prevents refspec as branch name, which would bypass branch protection
      when used in conjunction with rebase.
      
      HEAD seems to be a special case with lots of occurrence,
      so it is considered valid for now.
      
      Another special case is `refs/head/*`, which can be imported.
      d8bddb16
  25. 30 4月, 2019 1 次提交
    • S
      Fix environment automatic on_stop trigger · daa8f784
      Shinya Maeda 提交于
      Due to the nature of pipelines for merge requests, deployments.ref can
      be a merge request ref instead of a branch name.
      
      We support the environment auto-stop hook for this case
      daa8f784
  26. 23 4月, 2019 1 次提交
  27. 16 4月, 2019 1 次提交
  28. 09 4月, 2019 1 次提交
  29. 02 4月, 2019 2 次提交
  30. 01 4月, 2019 2 次提交
  31. 29 3月, 2019 2 次提交
  32. 27 3月, 2019 1 次提交
  33. 26 3月, 2019 1 次提交