Skip to content
Snippets Groups Projects
  1. Mar 10, 2025
  2. Mar 06, 2025
    • Georges Racinet's avatar
      New dev cycle · 8943db23
      Georges Racinet authored
      8943db23
    • Georges Racinet's avatar
      2cd4f341
    • Georges Racinet's avatar
      Setting version for release · 5d047ea4
      Georges Racinet authored
      The clone bundles autogeneration support is well worth a minor version
      bump.
    • Georges Racinet's avatar
      clone-bundles: auto-generation for public projects · b038cd92
      Georges Racinet authored
      We had to replace the call of the "internal" subprocess
      by our own because fully detached `procutil.bgcommand` does
      not pass `stdin` correctly (seen systematically to be empty), so
      instead we go the environment variable way, which is ok for a
      tiny pickle of a descriptor object.
      
      Many choices, notably:
      
      - the parent dir for the bundles is derived from the namspace
        full path, so that it looks familiar to users, but the project
        slug is replaced by its `GL_REPOSITORY`, typically `project-#ID`,
        so that rename attacks could not work (when we have private clone
        bundles, this will matter)
      - `on-change` implemented for HTTP transactions by expecting Workhorse to
        pass the namespace path and the public boolean in headers
      - `on-change` implemented for SSH transactions by expecting Heptapod Shell
        to set the proper environment variables (hence we do not need to pass them
        to the background generation job)
      - the refresh command takes the path and the public indication form
        the command line instead of from environment, because that is
        easier in the first iteration: we will not have to change RHGitaly
        for this.
      - ACL is expected to be set on the bucket, hence the `public-bucket`
        configuration subsubkey. We will later need a `private-bucket` one,
      b038cd92
    • Georges Racinet's avatar
      fd8bb2fe
    • Georges Racinet's avatar
      Configuration items for clone bundles · ec7b42f6
      Georges Racinet authored
      We are basically putting almost everything under the `heptapod` section,
      because
      
      1. it makes clear to the users that the meaning of the configuration is
         specific to Heptapod
      2. it avoids future collisions
      3. it can be readily updated from the Rails app (case of the
         `heptapod.clone-bundles` item.
      
      Caveat: the `disabled` value can be used to prevent all auto-generations,
      but it will not be possible to disable serving of existing clone bundles at
      this point (the only way would be currently to disable the `clonebundles`
      extension, which probably cannot be done from `uipopulate`).
      ec7b42f6
    • Georges Racinet's avatar
      WSGI keeping track of the configuration path · ba2aa962
      Georges Racinet authored
      When running under WSGI, if we need to spawn a subprocess,
      as will be the case with clonebundles integration, we meed to
      set `HGRCPATH` in the subprocess environment, hence we need
      to remember the value.
      ba2aa962
  3. Feb 19, 2025
  4. Feb 17, 2025
  5. Feb 19, 2025
  6. Feb 11, 2025
  7. Jan 22, 2025
  8. Jan 21, 2025
  9. Jan 20, 2025
    • Georges Racinet's avatar
      Merged Git pools fixup from heptapod-17-6 branch. · 619676e4
      Georges Racinet authored
      In the default branch, we have already stopped calling by mere
      instantiation of the handler the "ensure" method and the resync of the Git
      repo (supporting the mirrors for native projects). It is now done from
      the commands themselves, hence the tests have to be slightly adapted
      to call them as well.
      619676e4
    • Georges Racinet's avatar
      Moved Git repos: fixup GitLab pools relative paths · adb5d496
      Georges Racinet authored
      Should solve heptapod#1984, especially given that the migration
      to native Projects calls `hg move-hg-git-repo-out-of-gitaly-reach`.
      
      Given that this is a one shot and we happen to have the same Python
      dependencies in the default and stable series of Heptapod, we're hardcoding
      the series in the CI configuration. Obviously to be reverted upon merge in
      the default branch.
      adb5d496
  10. Jan 12, 2025
  11. Jan 06, 2025
Loading