1. 06 Jun, 2017 23 commits
    • Douglas Barbosa Alexandre's avatar
    • Douglas Barbosa Alexandre's avatar
    • Douglas Barbosa Alexandre's avatar
      8bceb665
    • Douglas Barbosa Alexandre's avatar
    • Stan Hu's avatar
      Merge branch '2597-fix-master' into 'master' · 2b1e6a44
      Stan Hu authored
      Resolve "Broken master"
      
      Closes #2597
      
      See merge request !2047
      2b1e6a44
    • Robert Speicher's avatar
      Merge branch 'sh-make-geo-default-schema-match-config' into 'master' · 7c088a88
      Robert Speicher authored
      Use the current node configuration to populate suggested new URL for Geo node
      
      Closes #1416
      
      See merge request !2038
      7c088a88
    • Rémy Coutable's avatar
      511485e6
    • Rémy Coutable's avatar
      Fix Rubocop offense · 76089b94
      Rémy Coutable authored
      Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
      76089b94
    • Sean Packham's avatar
      Merge branch 'docs/jenkins-split-ee' into 'master' · fbd6831d
      Sean Packham authored
      Split Jenkins docs
      
      See merge request !2045
      fbd6831d
    • Achilleas Pipinellis's avatar
      Split Jenkins docs · 9bd593d7
      Achilleas Pipinellis authored
      9bd593d7
    • Sean Packham's avatar
      Merge branch 'docs/powershell-ci-vars-ee' into 'master' · bc0882c3
      Sean Packham authored
      Add PowerShell to CI variable docs
      
      See merge request !2044
      bc0882c3
    • Rémy Coutable's avatar
      Merge branch 'improve-approvers-queries' into 'master' · c7f644e4
      Rémy Coutable authored
      Speed up checking for approvers remaining
      
      Closes #1843 and #2448
      
      See merge request !2032
      c7f644e4
    • John Spaetzel's avatar
      Add PowerShell to CI variable docs · 5a68088f
      John Spaetzel authored
      5a68088f
    • Douwe Maan's avatar
      Merge branch 'move-to-adaptive-scheduling-in-project-mirror-pull' into 'master' · 0a65e0da
      Douwe Maan authored
      Stop using sidekiq-cron for scheduling all project mirror pull and move to adaptive scheduling
      
      Closes gitlab-ce#29218
      
      See merge request !1853
      0a65e0da
    • Sean McGivern's avatar
      Merge branch 'feature/server-wide-audit-logging' into 'master' · 27ded72a
      Sean McGivern authored
      Implement server-wide Audit Logging admin screen
      
      Closes #2336
      
      See merge request !1852
      27ded72a
    • James Lopez's avatar
      df01bc07
    • Grzegorz Bizon's avatar
      Merge branch '2556-approvers-don-t-appear-when-mr-is-created-from-a-fork' into 'master' · 0bd4449d
      Grzegorz Bizon authored
      Resolve "Approvers don't appear when MR is created from a fork"
      
      Closes #2556
      
      See merge request !2035
      0bd4449d
    • Sean Packham's avatar
      Merge branch 'docs/remove-ref-to-wheel-settings-ee' into 'master' · 1f36bca7
      Sean Packham authored
      Remove references to old settings location
      
      See merge request !2043
      1f36bca7
    • Achilleas Pipinellis's avatar
      17eb41a8
    • Fatih Acet's avatar
      Merge branch '2560-approver-image' into 'master' · 930eb111
      Fatih Acet authored
      re-add avatar url to approver avatar
      
      Closes #2560
      
      See merge request !2034
      930eb111
    • Grzegorz Bizon's avatar
      aea415f9
    • Sean McGivern's avatar
      Fix approvers dropdown when creating MR from a fork · 835127cd
      Sean McGivern authored
      The `users_select_tag` helper defaults to using `@project`, which in this case
      is the source project, not the target project. Explicitly use the target project
      to get the right list of users.
      835127cd
    • Sean McGivern's avatar
      Speed up checking for approvers remaining · e330a77c
      Sean McGivern authored
      1. Use the ProjectAuthorization model to find users with developer access to
         this project. This is dramatically faster than the old version, with the
         complicated ORs, on staging: ~10ms vs ~800ms.
      2. Use `to_a` explicitly when checking `any?` on a relation. Refactoring out the
         `any?` checks would be painful, but as we often use the results anyway,
         `to_a` lets us save a query.
      
      Adding this up gets us the below (for a MR on the gitlab-ce project in staging).
      
      Before:
      
          Project Load (2.3ms) SELECT "projects".* FROM "projects" WHERE
          "projects"."pending_delete" = 'f' AND "projects"."id" = 13083 ORDER BY
          "projects"."id" DESC LIMIT 1 [["pending_delete", false], ["id", 13083]]
      
          Approver Exists (1.2ms) SELECT 1 AS one FROM "approvers" WHERE
          "approvers"."target_id" = 2294769 AND "approvers"."target_type" =
          'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type",
          "MergeRequest"]]
      
          ApproverGroup Exists (0.8ms) SELECT 1 AS one FROM "approver_groups" WHERE
          "approver_groups"."target_id" = 2294769 AND "approver_groups"."target_type"
          = 'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type",
          "MergeRequest"]]
      
          User Load (2.7ms) SELECT "users".* FROM "users" WHERE "users"."id" = 840794
          ORDER BY "users"."id" DESC LIMIT 1 [["id", 840794]]
      
          Approver Load (0.9ms) SELECT "approvers".* FROM "approvers" WHERE
          "approvers"."target_id" = 13083 AND "approvers"."target_type" = 'Project'
          AND ("approvers"."user_id" != 840794) [["target_id", 13083], ["target_type",
          "Project"], ["user_id", 840794]]
      
          Approver Exists (0.6ms) SELECT 1 AS one FROM "approvers" WHERE
          "approvers"."target_id" = 2294769 AND "approvers"."target_type" =
          'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type",
          "MergeRequest"]]
      
          ApproverGroup Exists (0.6ms) SELECT 1 AS one FROM "approver_groups" WHERE
          "approver_groups"."target_id" = 2294769 AND "approver_groups"."target_type"
          = 'MergeRequest' LIMIT 1 [["target_id", 2294769], ["target_type",
          "MergeRequest"]]
      
          ApproverGroup Load (0.7ms) SELECT "approver_groups".* FROM "approver_groups"
          WHERE "approver_groups"."target_id" = 13083 AND
          "approver_groups"."target_type" = 'Project' [["target_id", 13083],
          ["target_type", "Project"]]
      
          Group Load (1.3ms) SELECT "namespaces".* FROM "namespaces" WHERE
          "namespaces"."deleted_at" IS NULL AND "namespaces"."type" IN ('Group') AND
          "namespaces"."id" = 9970 AND "namespaces"."type" IN ('Group') AND
          "namespaces"."type" = 'Group' ORDER BY "namespaces"."id" DESC LIMIT 1
          [["id", 9970], ["type", "Group"]]
      
          (1222.4ms) SELECT COUNT(*) FROM "users" WHERE ("users"."state"
          IN ('active')) AND ("users"."ghost" = 'f' OR "users"."ghost" IS NULL)
          AND ("users"."support_bot" = 'f' OR "users"."support_bot" IS NULL) AND ((id
          IN (SELECT "members"."user_id" FROM "members" WHERE "members"."source_type"
          = 'Project' AND "members"."type" IN ('ProjectMember') AND
          "members"."source_id" = 13083 AND "members"."source_type" = 'Project' AND
          "members"."type" IN ('ProjectMember') AND "members"."requested_at" IS NULL
          AND (access_level > 20) ORDER BY "members"."id" DESC) OR id IN (SELECT
          "members"."user_id" FROM "members" WHERE "members"."source_type" =
          'Namespace' AND "members"."type" IN ('GroupMember') AND
          "members"."source_id" = 9970 AND "members"."source_type" = 'Namespace' AND
          "members"."type" IN ('GroupMember') AND "members"."requested_at" IS NULL
          AND (access_level > 20) ORDER BY "members"."id" DESC)) AND id NOT IN (SELECT
          "approvals"."user_id" FROM "approvals" WHERE "approvals"."merge_request_id"
          = 2294769)) AND ("users"."id" != 840794) [["id", 840794]]
      
      After:
      
          Project Load (2.5ms) SELECT "projects".* FROM "projects" WHERE
          "projects"."pending_delete" = 'f' AND "projects"."id" = 13083 ORDER BY
          "projects"."id" DESC LIMIT 1 [["pending_delete", false], ["id", 13083]]
      
          Approver Load (1.3ms) SELECT "approvers".* FROM "approvers" WHERE
          "approvers"."target_id" = 2294769 AND "approvers"."target_type" =
          'MergeRequest' [["target_id", 2294769], ["target_type", "MergeRequest"]]
      
          ApproverGroup Load (1.5ms) SELECT "approver_groups".* FROM "approver_groups"
          WHERE "approver_groups"."target_id" = 2294769 AND
          "approver_groups"."target_type" = 'MergeRequest' [["target_id", 2294769],
          ["target_type", "MergeRequest"]]
      
          User Load (2.9ms) SELECT "users".* FROM "users" WHERE "users"."id" = 840794
          ORDER BY "users"."id" DESC LIMIT 1 [["id", 840794]]
      
          Approver Load (0.9ms) SELECT "approvers".* FROM "approvers" WHERE
          "approvers"."target_id" = 13083 AND "approvers"."target_type" = 'Project'
          AND ("approvers"."user_id" != 840794) [["target_id", 13083], ["target_type",
          "Project"], ["user_id", 840794]]
      
          ApproverGroup Load (0.7ms) SELECT "approver_groups".* FROM "approver_groups"
          WHERE "approver_groups"."target_id" = 13083 AND
          "approver_groups"."target_type" = 'Project' [["target_id", 13083],
          ["target_type", "Project"]]
      
          (6.2ms) SELECT COUNT(*) FROM "users" WHERE ("users"."state" IN ('active'))
          AND ("users"."ghost" = 'f' OR "users"."ghost" IS NULL)
          AND ("users"."support_bot" = 'f' OR "users"."support_bot" IS NULL) AND ((id
          IN (SELECT "project_authorizations"."user_id" FROM "project_authorizations"
          WHERE (project_id = 13083 AND access_level > 20))) AND id NOT IN (SELECT
          "approvals"."user_id" FROM "approvals" WHERE "approvals"."merge_request_id"
          = 2294769)) AND ("users"."id" != 840794) [["id", 840794]]
      e330a77c
  2. 05 Jun, 2017 17 commits