Skip to content
Snippets Groups Projects
  1. Mar 26, 2025
  2. Mar 15, 2025
    • Georges Racinet's avatar
      CI/CD: compat job for Python 3.9 · 5c11c641
      Georges Racinet authored
      The base images now have 3.11 by default, so we need to test
      with the Python version in use in Omnibus as well.
      
      This was made much simpler with the binary Mercurial wheels.
      5c11c641
  3. Mar 14, 2025
  4. Mar 12, 2025
  5. Mar 10, 2025
  6. 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
  7. Feb 19, 2025
  8. Feb 17, 2025
  9. Feb 19, 2025
  10. Feb 11, 2025
  11. Jan 22, 2025
  12. Jan 21, 2025
Loading