Skip to content
  • Georges Racinet's avatar
    Merged GitLab 14.4.1 into Heptapod, with corrections · 0b3079f45b73
    Georges Racinet authored
    Surprisingly very few conflicts.
    
    Points of attention / corrections made
    
    - Golang components now require Go 1.16, this can be painful for
      some development setups. At least, on Debian a separate golang-1.16
      series of packages is available.
    - Migrations now must inherit a Gitlab pivot helper class rather than
      directly the one provided by Rails (enforced by a Rubocop rule).
    - The `CommitService.Between` gRPC method is now deprecated, but we
      still have to use it for Mercurial (until hgitaly#72 is done).
      The reference check of Git::Repository response now raises an error
      for unknown commits (as explained in protocol comments). Let's hope
      that it is still acceptable to return an empty list instead, and
      make hgitaly#72 a priority
    - There is a new example (for SAST option) in RSpec test for
      CreateService. As usual, it needs to be fixed to create a Git
      project, because that is what the test expects.
      Checking if this option works for Mercurial and fix it
      if note would be nice - SAST is an important feature for security
      of hosted projects.
    - Fixed PostReceiveWorker tests
      The `job_args` lazy variable, used in idempotency check and
      in the Snippets cases of course didn't include the specific
      `hg_prunes` argument.
    - Git squashed are now done in-memory, with the consequence that
      they have become more synchronous, with no squash ID to query.
      The `Git::Repository` API changed to reflect that, and we needed
      to do the same in HgGitRepository. Note that we do use a temporary
      working directory, but it should not matter (it is always automa-
      tically cleaned
    - our specific `mr_access_iid` had to be added to some new RSpec
      examples in for `Gitlab::Checks::ChangesAccess`.
    - the tests for the (new) Integration API calls needed to be adapted
      for Mercurial-specific integrations (the only one being currently
      for Read the Docs.
      The complication here is the use of `let_it_be`, meaning that the
      (former) `project` value was in use for the whole suite of examples
      in this file.
      Replacing it with two precreated projects and switching from one
      to the other was the simplest somewhat clean course of action.
    0b3079f45b73