Skip to content
Snippets Groups Projects
  1. Sep 12, 2019
  2. Sep 11, 2019
  3. Sep 10, 2019
  4. Sep 09, 2019
    • Mo Khan's avatar
      Add approval MR rule to all_models.yml · 3dd99c9d
      Mo Khan authored
      3dd99c9d
    • Kamil Trzcińśki's avatar
      Improve performance and memory usage of project export · 0e56c1e7
      Kamil Trzcińśki authored
      ActiveModel::Serialization is simple in that it recursively calls
      `as_json` on each object to serialize everything. However, for a model
      like a Project, this can generate a query for every single association,
      which can add up to tens of thousands of queries and lead to memory
      bloat.
      
      To improve this, we can do several things:
      
      1. We use `tree:` and `preload:` to automatically generate
         a list of all preloads that could be used to serialize
         objects in bulk.
      
      2. We observe that a single project has many issues, merge requests,
         etc. Instead of serializing everything at once, which could lead to
         database timeouts and high memory usage, we take each top-level
         association and serialize the data in batches.
      
      For example, we serialize the first 100 issues and preload all of
      their associated events, notes, etc. before moving onto the next
      batch. When we're done, we serialize merge requests in the same way.
      We repeat this pattern for the remaining associations specified in
      import_export.yml.
      0e56c1e7
    • Francisco Javier López's avatar
      Lower searches count limit · 107ebb82
      Francisco Javier López authored
      Lowering the limit when performing search from 1001 to 101.
      This will allow us to speed this process.
      107ebb82
    • drew's avatar
  5. Sep 06, 2019
    • Kamil Trzcińśki's avatar
      Normalize import_export structure · 0eeadb2d
      Kamil Trzcińśki authored
      This brings a significant refactor to how
      we handle `import_export.yml`, merge it with EE
      and how we handle that for reader and saver.
      
      This is meant to simplify the code, and remove
      a ton of conditions to handle different models
      of the structure.
      
      This is also meant to prepare the structure
      to extend it much easier, like adding `preload:`
      or additional object types when needed.
      
      This does not change the behavior of import/export,
      rather unifies and simplifies the current implementation.
      0eeadb2d
    • Ash McKenzie's avatar
      Add new GitlabDanger class · 9fc9ab2b
      Ash McKenzie authored
      This class encapsulates our use of the Danger gem.
      9fc9ab2b
    • Will Chandler's avatar
      Stop empty external auth classification labels overriding default labels · 525449d7
      Will Chandler authored and Thong Kuah's avatar Thong Kuah committed
      Most of the project templates bundled with GitLab have an empty string
      set for `external_authorization_classification_label` in their
      `project.json`. When imported this overrides the default label set on
      the instance, causing the label to appear empty.
      
      This change sets empty labels to nil during import, allowing the
      default label to override it and be applied to the project.
      525449d7
    • Krasimir Angelov's avatar
      Add skeleton Pages internal API · 477ba2b3
      Krasimir Angelov authored
      Basic `/internal/pages` endpoint that will be used for Pages virtual
      domains internal API. The endpoint is currently behind feature flag and
      provides authetication similar to how Workhorse is authenticating with
      the GitLab.
      477ba2b3
  6. Sep 05, 2019
  7. Sep 04, 2019
  8. Sep 03, 2019
  9. Sep 02, 2019
  10. Aug 31, 2019
  11. Aug 30, 2019
  12. Aug 29, 2019
Loading