This instance will be upgraded to Heptapod 0.25.0 (final) on 2021-09-22 at 15:00 UTC+2 (a few minutes of down time)

  1. 20 Sep, 2021 2 commits
  2. 08 Sep, 2021 2 commits
  3. 04 Sep, 2021 1 commit
    • Georges Racinet's avatar
      Merged stable branch into default · 693c88abde43
      Georges Racinet authored
      Brings in the test of project creation with or without
      initial README commit, which is a necesseray change for
      tests to pass on GitLab 14.2
      693c88abde43
  4. 02 Sep, 2021 3 commits
    • Georges Racinet's avatar
      Merged stable branch into default · e1ebbdeadf4d
      Georges Racinet authored
      Several additions and the adaptations to GitLab 14.
      e1ebbdeadf4d
    • Georges Racinet's avatar
      Projects: testing webdriver creation with README · 483fd94f0bd9
      Georges Racinet authored
      As this will be often the first user experience on Heptapod, it
      is especially important that it gets its end-to-end test.
      
      Of course, this goes internally through the same method as any
      repository file creation, but there wasn't any direct test at
      creation time, neither with Selenium, nor with API.
      
      This is again expected to work on GitLab<14.2
      
      --HG--
      branch : stable
      483fd94f0bd9
    • Georges Racinet's avatar
      Project.webdriver_create: control repo initialization with README · 42e13d45f948
      Georges Racinet authored
      In GitLab 14.2, the corresponding checkbox is selected by default,
      which `test_projects.test_webdriver_create()` doesn't expect, since
      it tests the empty project page.
      
      This change shouldn't break compatibility with GitLab<14.2.
      
      --HG--
      branch : stable
      42e13d45f948
  5. 01 Sep, 2021 3 commits
  6. 21 Jul, 2021 8 commits
    • Georges Racinet's avatar
      Testing Group custom attributes API permissions · bec7cc14c4da
      Georges Racinet authored
      The official documentation states that access is only
      possible to instance administrators, which we can confirm.
      
      This test will warn us if that were to change.
      
      --HG--
      branch : stable
      bec7cc14c4da
    • Georges Racinet's avatar
      Group: custom attributes management methods · b5db0768dab8
      Georges Racinet authored
      This, too, could be eventually be mutualized with `User`
      and `Project`, but we won't need that for the time being.
      
      --HG--
      branch : stable
      b5db0768dab8
    • Georges Racinet's avatar
      Group.grant_member_access initial implementation · e90c96bb2d04
      Georges Racinet authored
      There was already an `api_add_member` method, but it
      was limited to new members, and it's better to have
      some uniformit with Project (with long-term goal of
      a unique implementation).
      
      This version is a bit more modern than its counterpart in Project
      (meaning that mutualization will have to wait), in that it
      takes a `User` instance directly.
      
      --HG--
      branch : stable
      e90c96bb2d04
    • Georges Racinet's avatar
      Group.api_put: was missing · 764ba9796bf8
      Georges Racinet authored
      --HG--
      branch : stable
      764ba9796bf8
    • Georges Racinet's avatar
      Group.api_get: introducing `subpath` · ac21b13cbc61
      Georges Racinet authored
      This is as, e.g, what the similar method does in Project.
      
      --HG--
      branch : stable
      ac21b13cbc61
    • Georges Racinet's avatar
      Access.MINIMAL (new value) · ac78fa6f7f5c
      Georges Racinet authored
      Just learned about it, don't what it is good for. It can't be
      set on a Group.
      
      --HG--
      branch : stable
      ac78fa6f7f5c
    • Georges Racinet's avatar
      Access: made two concrete ProjectAccess and GroupAccess enums · 1f69035cad17
      Georges Racinet authored
      Enum values cannot be inherited, so we have to resort to setting
      explicitely from a class that contains all possible values.
      
      
      ProjectAccess: upgraded to IntEnum and moved in its own module
      
      Well also a pseudo base class
      
      --HG--
      branch : stable
      1f69035cad17
    • Georges Racinet's avatar
      ProjectAccess: upgraded to IntEnum and moved in its own module · a643a23234dd
      Georges Racinet authored
      The main advantage is to be able to iterate on all values.
      Also, the full name is displayed with `repr()` which is nice
      under pdb.
      
      The price to pay is that `json` would serialize as the full dotted
      name instead of the integer value, so we need to cast. Otherwise
      `IntEnum` behaves just as `int`.
      
      --HG--
      branch : stable
      a643a23234dd
  7. 30 Aug, 2021 1 commit
  8. 23 Aug, 2021 1 commit
  9. 21 Aug, 2021 1 commit
    • Georges Racinet's avatar
      Heptapod CI: newly required passing of root password · b7d799de7558
      Georges Racinet authored
      As of GitLab 14, the root password initialization is no more.
      Instead, the initial root password is chosen randomly at first
      startup and can be found on the FS (not convenient for our CI jobs
      that run against Heptapod as a services container), or can be set
      beforehand.
      
      Given that the security aspect is quite low on these ephemeral services
      we take the predefining option (up to now it's been the standard
      dev password anyway, and the service is not accessible from the
      internet).
      
      --HG--
      branch : stable
      b7d799de7558
  10. 05 Aug, 2021 1 commit
  11. 04 Aug, 2021 1 commit
  12. 05 Aug, 2021 2 commits
  13. 05 Jul, 2021 2 commits
  14. 19 Jun, 2021 3 commits
  15. 18 Jun, 2021 2 commits
    • Georges Racinet on mutations.racinet.fr's avatar
      Reverse calls: explicit IP addresses · 8af62a283174
      It can happen that WSGIServer (itself based on socketserver.BaseServer)
      binds by default using IPv4 while the `localhost` default call address
      that will be stored on the Rails side for reverse calls will resolve to
      `::1`. Since some of the contexts for these tests only have IPv4 (Docker
      containters), we're binding explicitely to the all IPv4 addresses 0.0.0.0
      
      On many Linux systems, the kernel is configured so that :: serves all
      IPv6 and IPv4 address (through representation of the IPv4 address
      space in IPv6). We'' switch to that if we turn out to need IPv6 and it works
      in our Docker CI contexts. For now, let's spare us another round of testing.
      8af62a283174
    • Georges Racinet on mutations.racinet.fr's avatar
      Disable API branch constant time cache · fde737b00f53
      GitLab 13.12 introduces a 30s inconditional cache of branches in
      the REST API, which is on by default but can be controlled by
      a feature flag. This explains the sudden need to asynchronicity
      with a long timeout.
      
      still, asynchronicity should be the rule because PostReceive is
      handled by a sidekiq worker. It just happens that it's always was
      nearly fast enough for tht tests to pass in practice. Perhaps we
      will be able to run with more concurrency thanks to this in the
      future.
      fde737b00f53
  16. 13 Jun, 2021 2 commits
  17. 18 Jun, 2021 1 commit
    • Georges Racinet's avatar
      Made many assertions on GitLab branches asynchronous · a120dccbdb8b
      Georges Racinet authored
      The PostReceive process has always been asynchronous, but
      until now, it was fast enough that we could in practice
      ignore that in these tests.
      
      GitLab 13.12 made us realize that because of its rate limiting
      branches API cache. These changes are not enough to make the
      tests pass with this cache enabled (default 10s timeout is too
      short), but they should improve the tests reliability anyway.
      a120dccbdb8b
  18. 13 Jun, 2021 2 commits
  19. 11 Jun, 2021 1 commit
  20. 04 Jun, 2021 1 commit