1. 19 8月, 2019 2 次提交
  2. 17 8月, 2019 9 次提交
    • S
      Fix pipelines not always being created after a push · b46b9d5e
      Stan Hu 提交于
      https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/31741 introduced
      a regression where not all the right parameters would be passed into
      `Ci::CreatePipelineService`. We fix this by breaking out the pipeline
      parameters and reusing a method from `Gitlab::DataBuilder::Push`.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/66196
      b46b9d5e
    • B
      UI for disabling group/project email notification · 9be16e1f
      Brett Walker 提交于
      - Adds UI to configure in group and project settings
      - Removes notification configuration for users when
      disabled at group or project level
      9be16e1f
    • G
      Add new table to store email domain · 3b32ac56
      Gosia Ksionek 提交于
      In order to save user preferences regarding
      user emails allowed to be invited to group
      
      Add foreign_key and down method
      
      Change adding foreign key
      
      Add partial call to view
      
      Add changelog entry
      
      Fix schema
      3b32ac56
    • L
      Adds specific metric styles and prop · 69009fa1
      Laura Montemayor 提交于
      This MR adds the styles for displaying a single
      chart next to another one when embedding them
      in an issue.
      69009fa1
    • S
      Expire project caches once per push instead of once per ref · f14647fd
      Stan Hu 提交于
      Previously `ProjectCacheWorker` would be scheduled once per ref, which
      would generate unnecessary I/O and load on Sidekiq, especially if many
      tags or branches were pushed at once. `ProjectCacheWorker` would expire
      three items:
      
      1. Repository size: This only needs to be updated once per push.
      2. Commit count: This only needs to be updated if the default branch
         is updated.
      3. Project method caches: This only needs to be updated if the default
         branch changes, but only if certain files change (e.g. README,
         CHANGELOG, etc.).
      
      Because the third item requires looking at the actual changes in the
      commit deltas, we schedule one `ProjectCacheWorker` to handle the first
      two cases, and schedule a separate `ProjectCacheWorker` for the third
      case if it is needed. As a result, this brings down the number of
      `ProjectCacheWorker` jobs from N to 2.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/52046
      f14647fd
    • M
      Optimize DB indexes for ES indexing of notes · a3e71610
      Markus Koller 提交于
      To index notes, we exclude system notes and use `find_in_batches` to
      load them in batches for submission to the ES bulk import API.
      These queries often result in DB timeouts because the usage of
      `ORDER BY id` results in the `notes_pkey` index being used.
      
      This adds an optimized partial index, and removes the unused index
      `index_notes_on_noteable_type` which is already covered for our
      usage by the existing `index_notes_on_noteable_id_and_noteable_type`.
      
      Newer versions of PostgreSQL (at least 11) are smarter about this and
      use `index_notes_on_project_id_and_noteable_type` instead, so we might
      be able to remove the partial index again in the future.
      a3e71610
    • D
      Look up upstream commits once before queuing ProcessCommitWorkers · 97c2564f
      Douwe Maan 提交于
      Instead of checking if a commit already exists in the upstream project
      in its ProcessCommitWorker and bailing out if it does, we check the
      existence of all commits in bulk in Git::BranchHooksService, so that we
      can skip scheduling ProcessCommitWorker jobs for those commits
      that already exist upstream entirely.
      97c2564f
    • R
      Remove Security Dashboard feature flag · 3fbc51d3
      rossfuhrman 提交于
      This removes the group_overview_security_dashboard feature flag
      3fbc51d3
    • T
      Add clipboard button to metric chart dropdown · 9cba187a
      Tristan Read 提交于
      Adds a clipboard button to the metrics dashboard, that allows
      copying a link to an individual chart.
      9cba187a
  3. 16 8月, 2019 6 次提交
  4. 15 8月, 2019 11 次提交
  5. 14 8月, 2019 8 次提交
    • D
      Add notification for updated privacy policy · e5dd249c
      Dennis Tang 提交于
      This adds a notification to let users know of our updated privacy
      policy.
      
      Users can dismiss the notification either by following the link or
      closing the notification via an "x" icon.
      e5dd249c
    • G
      Add changelog entry · 879bcaac
      George Koltsov 提交于
      879bcaac
    • I
      Add usage pings for source code pushes · 04598039
      Igor 提交于
      Source Code Usage Ping for Create SMAU
      04598039
    • B
      Rework retry strategy for remote mirrors · 452bc36d
      Bob Van Landuyt 提交于
      **Prevention of running 2 simultaneous updates**
      
      Instead of using `RemoteMirror#update_status` and raise an error if
      it's already running to prevent the same mirror being updated at the
      same time we now use `Gitlab::ExclusiveLease` for that.
      
      When we fail to obtain a lease in 3 tries, 30 seconds apart, we bail
      and reschedule. We'll reschedule faster for the protected branches.
      
      If the mirror already ran since it was scheduled, the job will be
      skipped.
      
      **Error handling: Remote side**
      
      When an update fails because of a `Gitlab::Git::CommandError`, we
      won't track this error in sentry, this could be on the remote side:
      for example when branches have diverged.
      
      In this case, we'll try 3 times scheduled 1 or 5 minutes apart.
      
      In between, the mirror is marked as "to_retry", the error would be
      visible to the user when they visit the settings page.
      
      After 3 tries we'll mark the mirror as failed and notify the user.
      
      We won't track this error in sentry, as it's not likely we can help
      it.
      
      The next event that would trigger a new refresh.
      
      **Error handling: our side**
      
      If an unexpected error occurs, we mark the mirror as failed, but we'd
      still retry the job based on the regular sidekiq retries with
      backoff. Same as we used to
      
      The error would be reported in sentry, since its likely we need to do
      something about it.
      452bc36d
    • N
      Fix project image in Slack pipeline notifications · 5112d92c
      Nathan Friend 提交于
      This commit fixes the project avatar images that are rendered in the
      footer of Slack pipeline notifications.  Previously, the image URLs
      provided to Slack were relative URLs; now they are absolute.
      5112d92c
    • M
      341df9f7
    • N
      Update personal access token api scope description · 653b7b72
      Nick Kipling 提交于
      653b7b72
    • S
      Only expire tag cache once per push · e658f960
      Stan Hu 提交于
      Previously each tag in a push would invoke the Gitaly `FindAllTags` RPC
      since the tag cache would be invalidated with every tag.
      
      We can eliminate those extraneous calls by expiring the tag cache once
      in `PostReceive` and taking advantage of the cached tags.
      
      Relates to https://gitlab.com/gitlab-org/gitlab-ce/issues/65795
      e658f960
  6. 13 8月, 2019 4 次提交
    • G
      Upgrade Gitaly to v1.59.0 · 3c5647bd
      GitalyBot 提交于
      3c5647bd
    • B
    • S
      Reduce Gitaly calls in PostReceive · 4e2bb4e5
      Stan Hu 提交于
      This commit reduces I/O load and memory utilization during PostReceive
      for the common case when no project hooks or services are set up.
      
      We saw a Gitaly N+1 issue in `CommitDelta` when many tags or branches
      are pushed. We can reduce this overhead in the common case because we
      observe that most new projects do not have any Web hooks or services,
      especially when they are first created. Previously, `BaseHooksService`
      unconditionally iterated through the last 20 commits of each ref to
      build the `push_data` structure. The `push_data` structured was used in
      numerous places:
      
      1. Building the push payload in `EventCreateService`
      2. Creating a CI pipeline
      3. Executing project Web or system hooks
      4. Executing project services
      5. As the return value of `BaseHooksService#execute`
      6. `BranchHooksService#invalidated_file_types`
      
      We only need to generate the full `push_data` for items 3, 4, and 6.
      
      Item 1: `EventCreateService` only needs the last commit and doesn't
      actually need the commit deltas.
      
      Item 2: In addition, `Ci::CreatePipelineService` only needed a subset of
      the parameters.
      
      Item 5: The return value of `BaseHooksService#execute` also wasn't being
      used anywhere.
      
      Item 6: This is only used when pushing to the default branch, so if
      many tags are pushed we can save significant I/O here.
      
      Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/65878
      
      Fic
      4e2bb4e5
    • H
      Improve quick action error messages · 7a6ecbcb
      Heinrich Lee Yu 提交于
      Standardize punctuation and format
      7a6ecbcb