This instance will be upgraded to Heptapod 0.21.0rc3 on 2021-04-23 at 10:30 UTC+2 (a few minutes of down time)

  1. 14 Apr, 2021 5 commits
    • Georges Racinet's avatar
      API Censor: catch HgError and return a nicer message · bd5d3e042f2a
      Georges Racinet authored
      This avoids a lengthy traceback, yet unfortunately is not
      able to give more details about the actual error. In the
      RSpec test, we use a tombstone too long to trigger it.
      
      Also fixing the error rendering for non Mercurial projects.
      
      --HG--
      branch : heptapod-stable
      bd5d3e042f2a
    • Georges Racinet's avatar
      RSpec API censor: making non-UTF8 test pass · 0471073b188e
      Georges Racinet authored
      The remaining problem was the size of the *whole*
      replacement data, which is tombstone + 15, hence the
      data to censor has to be more than 15 bytes.
      
      --HG--
      branch : heptapod-stable
      0471073b188e
    • Georges Racinet's avatar
      RSpec API censor: file with name really \xe9 · 02e996c635c3
      Georges Racinet authored
      With an encoding specification, the lower layers were
      happy to convert to the default FS encoding, which is
      UTF-8 in most cases, of course.
      
      This could serve as an example for similar tests.
      
      --HG--
      branch : heptapod-stable
      02e996c635c3
    • Georges Racinet's avatar
      RSpec API hg_censor: avoid repo reuse · c94d4ae8a191
      Georges Racinet authored
      with `let_it_be` the repo would be reused, which is harmful
      in this case. Of course the end result is very slow, but that's
      mostly the best we can do right now.
      
      --HG--
      branch : heptapod-stable
      c94d4ae8a191
    • Georges Racinet's avatar
      HgGitRepository#multi_action: fix for non-UTF8 file paths · 3d0574635569
      Georges Racinet authored
      Logging directly with `#{filepath}` gives a JSON encoding
      error, adding rspec dumps as a Ruby litteral and always work.
      
      I could confirm that it was all that was needed to
      commit a file with non-UTF8 file name.
      
      Also taking care of branch names, yet not sure in that case what
      is really possible.
      
      --HG--
      branch : heptapod-stable
      3d0574635569
  2. 13 Jan, 2021 1 commit
  3. 19 Apr, 2021 1 commit
    • Georges Racinet's avatar
      download.heptapod.net: remove all references to that host · bfe6761e225f
      Georges Racinet authored
      Although it was used only for `gitlab-prebuilds/` (not redirected
      to mirrors, and probably never will), this is more future proof
      than keeping it. In particular, things should work seamlessly
      if later down the road we decide to make download.h.n
      and upload.h.n completely separate.
      
      --HG--
      branch : heptapod-stable
      bfe6761e225f
  4. 15 Apr, 2021 1 commit
  5. 05 Apr, 2021 1 commit
    • Georges Racinet's avatar
      RSpec tests harness: avoid useless Workhorse rebuilds · 22de94601b66
      Georges Racinet authored
      Since Workhorse upstream GitLab bundled Workhorse in the main
      repository, the test harness is using it, with a detection system
      to trigger rebuilds. Being based on Git, it wasn't working
      properly, resulting in `bin/rspec` always rebuilding Workhorse.
      
      Here we adapt the rebuild triggering logic to Mercurial
      
      One could expect a Makefile calling the Go compiler to run fast
      in any case, but that still took 14 seconds on my fast workstation,
      the irony being that the tests we are using in development of
      Heptapod are very seldom calling through Workhorse.
      
      --HG--
      branch : heptapod-stable
      22de94601b66
  6. 02 Apr, 2021 3 commits
  7. 19 Mar, 2021 1 commit
  8. 16 Mar, 2021 1 commit
  9. 14 Mar, 2021 1 commit
    • Georges Racinet's avatar
      Heptapod CI: updated CNG Gitaly version · 01c7a9a59a93
      Georges Racinet authored
      Used in Workhorse related jobs.
      
      
      Also added main CI conf file to workhorse rules pattern, so
      that this has a chance to trigger those jobs.
      
      --HG--
      branch : heptapod-stable
      01c7a9a59a93
  10. 01 Apr, 2021 1 commit
    • Georges Racinet's avatar
      Merge Requests: tightened the can_be_merged_by(user) check · e7276893876d
      Georges Racinet authored
      Noticed while reviewing the change of this method in GitLab 13.9.5
      that they would not be applied for Mercurial projects, because the
      publish permission check trumps everything else. This made sense a year
      ago, but nowadays, it's better to have the general GitLab condition
      *and* the publish permission check.
      
      --HG--
      branch : heptapod-stable
      e7276893876d
  11. 29 Mar, 2021 1 commit
  12. 20 Mar, 2021 1 commit
  13. 19 Mar, 2021 1 commit
  14. 18 Mar, 2021 7 commits
  15. 12 Mar, 2021 4 commits
    • Georges Racinet's avatar
      Rubocop fixes · 4c0a7753d577
      Georges Racinet authored
      Realized I forgot to launch it, but the CI beat me by few seconds
      when I tried to cancel the auto merge.
      
      --HG--
      branch : heptapod
      4c0a7753d577
    • Georges Racinet's avatar
      Backups, native Mercurial: ensure existence of all GitLab ref state files · 70e81b5c67ac
      Georges Racinet authored
      Prior to the backup, the dedicated command to guarantee them will run.
      This is important in case a backup gets restored in some future, with
      the fully native mode of HGitaly2 already activated.
      
      --HG--
      branch : heptapod
      70e81b5c67ac
    • Georges Racinet's avatar
      Merge Request special ref: setting also in Mercurial native repos · 5a57943ec822
      Georges Racinet authored
      On the Git side, the special ref is set by a full `git fetch`,
      obviously meant for forks. We repeat on the Mercurial side
      for native repos only, taking care not to overwrite the already
      set Git ref.
      
      --HG--
      branch : heptapod
      5a57943ec822
    • Georges Racinet's avatar
      HGitalyRepository#write_ref: support special refs · 4c5d0e4fdc77
      Georges Racinet authored
      Relying on an HGitaly version that itself provides
      `RepositoryService.WriteRef` for special refs,
      and following the plan in #431, we now perform the
      write in both the Mercurial and (auxiliary) Git repositories.
      
      Encountered complications:
      
      - the target can really be any ref.
      - the target can be NULL and this can break pipeline creations
      
      See also hgitaly#53 for future improvements.
      
      --HG--
      branch : heptapod
      4c5d0e4fdc77
  16. 11 Mar, 2021 3 commits
  17. 07 Mar, 2021 4 commits
    • Georges Racinet's avatar
      Merged heptapod-stable into heptapod branch · be814789285b
      Georges Racinet authored
      --HG--
      branch : heptapod
      be814789285b
    • Georges Racinet's avatar
      Fixed syntax error in release script · c0df42322c33
      Georges Racinet authored
      --HG--
      branch : heptapod-stable
      c0df42322c33
    • Georges Racinet's avatar
      Heptapod CI: enabling requests/* RSpec tests · 44d5c0be2a1f
      Georges Racinet authored
      These are just the tests at the top level of the directoy.
      Concludes #396.
      
      The weird thing is that the offending
      `requests/git_http_spec.rb` was already part of the `extended`
      scope. Not sure what in CI did not trigger the SQL query limit.
      We'll also keep a closer look on this one (crucial anyway) as
      part of the default scope.
      
      --HG--
      branch : heptapod-stable
      44d5c0be2a1f
    • Georges Racinet's avatar
      Tests: excluding GitHttpController from SQL query counts · aee5f8f82897
      Georges Racinet authored
      Exceeding the threshold turns into a hard error only in RSpec
      tests context.
      
      More information in [development docs](doc/development/query_count_limits.md)
      
      Closes #396
      
      It turns out that auto-creation of the Git repository takes
      between 110 and 120 SQL requests, and we couldn't spot
      any obvious looping pattern. Also running the test on
      pristine GitLab gave us the same result.
      
      It is not clear how this test is not failing in upstream CI.
      While it makes sense that the case of auto-creation, with the
      two HTTP requests in a single transaction is probably the
      heaviest for the Git HTTP controller, one could argue that
      this is just too many SQL queries. Fixing that seems out of
      scope for Heptapod.
      
      --HG--
      branch : heptapod-stable
      aee5f8f82897
  18. 05 Mar, 2021 1 commit
  19. 01 Mar, 2021 2 commits
    • Georges Racinet's avatar
      Packaging: fixing determination of target branch in omnibus-heptapod · 7a983230b1b4
      Georges Racinet authored
      The previous ancestry-based criterion had a major drawback: it
      didn't work in case heptapod-stable is fully merged into heptapod.
      
      Rather than playing with more hazardeous logic for this script
      part that is only tested at release time, we choose here to
      rely on the fact that the stable status has already been manually
      set in the CI configuration file, in the form of the base image
      to use.
      
      Of course, this can also be wrong, but in that case we should already
      have encountered other issues. In truth, we should also think
      of a mechanism to guarantee that the base CI image is the correct
      one, but that can be done independently (as a check in pipelines of
      the heptapod-stable and heptapod branches, for instance).
      
      --HG--
      branch : heptapod
      7a983230b1b4
    • Georges Racinet's avatar
      Container Registry stats: presenter test that tested wrong method · 721742438674
      Georges Racinet authored
      --HG--
      branch : heptapod
      721742438674