1. 14 Dec, 2020 1 commit
    • Georges Racinet's avatar
      Heptapod CI: using pipeline rules · 31e079ca796b
      Georges Racinet authored
      Now that manual jobs don't interest us so much, it's time
      to do it: GitLab never intended push pipelines and MR pipelines
      to go along very well.
      
      --HG--
      branch : heptapod
      31e079ca796b
  2. 09 Dec, 2020 1 commit
  3. 14 Dec, 2020 2 commits
  4. 13 Dec, 2020 1 commit
  5. 11 Dec, 2020 1 commit
    • Georges Racinet's avatar
      Rust: separate Python requirements file for Oxidized Mercurial · eac0a704e209
      Georges Racinet authored
      The requirements file was split in two, and Mercurial version
      will have to be maintained both in `hg.req` and `hg-rust.req`.
      
      The new `requirements-rust.txt` has pip install with the
      Rust Python extensions. Using it without a working Rust toolchain
      is a hard install failure.
      
      The existing `requirements.txt` will work exactly as before.
      
      --HG--
      branch : heptapod
      eac0a704e209
  6. 03 Dec, 2020 1 commit
  7. 13 Dec, 2020 17 commits
    • Georges Racinet's avatar
      GitalyClient: really work with Git-qualified storage name · cf3a6561265f
      Georges Racinet authored
      It can be worthwile for callers, such as `Gitlab::Workhorse`
      not to bother making special case and just let `GitalyClient`
      handle `git:shard_name` as well as just `shard_name`.
      
      That was the intent, but it didn't work.
      
      Spotted by RSpec tests for `Gitlab::Workhorse`. Git archive
      production was certainly not working.
      
      --HG--
      branch : heptapod
      cf3a6561265f
    • Georges Racinet's avatar
      RSPec tests: fixed test about top-level routes · 7b40516345d1
      Georges Racinet authored
      It was based on `git ls-files` in the `public` subdir
      
      --HG--
      branch : heptapod
      7b40516345d1
    • Georges Racinet's avatar
      HTTP: let go of the 501 (Not Implemented) rendering · 02c227784bd2
      Georges Racinet authored
      We haven't been using it for a while. Now, upstream GitLab
      has a strict rule about top-level routes (to avoid making
      more reserved words that Group paths can't use).
      
      There are still a lot of things that are not really implemented
      in Heptapod, we can't realistically track them this way, so the simplest
      is to forget about it.
      
      --HG--
      branch : heptapod
      02c227784bd2
    • Georges Racinet's avatar
      Knapsack: updated timings for extended scope · b3cbf63c51c5
      Georges Racinet authored
      --HG--
      branch : heptapod
      b3cbf63c51c5
    • Georges Racinet's avatar
      RSpec tests: fixing import of Git projects · a03faeb8d9cc
      Georges Racinet authored
      Since we don't have any design ready for the case of Mercurial
      projects, we'll have to go with hardcoding the "git" VCS type
      for now.
      
      --HG--
      branch : heptapod
      a03faeb8d9cc
    • Georges Racinet's avatar
      Import/Export: register the vcs_type field of Project model · 914a0d2e731e
      Georges Racinet authored
      We'll test that it does the right thing later on, but that's not
      the most important thing (the bundles is). At this point more value
      to have all tests for RSpec pass, and this is filed as #388
      
      --HG--
      branch : heptapod
      914a0d2e731e
    • Georges Racinet's avatar
      RSpec tests: acknowledged readthedoc_service · 8dd311ce37ec
      Georges Racinet authored
      Even though we're not in good position to test that the export
      works, this is recorded as #389. There is more value
      with a successful test run for lib/gitlab at this point.
      
      --HG--
      branch : heptapod
      8dd311ce37ec
    • Georges Racinet's avatar
      RSpec tests: fixed for Gitlab::RepositoryUrlBuilder · 46088505fe25
      Georges Racinet authored
      In Heptapod, the presence of a `.git` path suffix is not
      the reponsibility of RepositoryUrlBuilder: it is decided ahead
      because it depends on information available from the container
      model. That is indeed an internal API change from upstream GitLab.
      
      These tests run on the default GitLab fixtures, hence on Git
      repositories. They have to pass down the expected '.git' suffix
      to the builder.
      
      --HG--
      branch : heptapod
      46088505fe25
    • Georges Racinet's avatar
      Heptapod CI: hosting postgres and redis images on registry.h.n · c98aa6a7cef2
      Georges Racinet authored
      We're hitting rate limits now even for these. Of course long term
      it will be nicer to have transparent local caches, but we don't
      have these for Docker Hub yet.
      
      --HG--
      branch : heptapod
      c98aa6a7cef2
    • Georges Racinet's avatar
      Heptapod CI: running the "extended" Rspec scope on release branches · a8a3f5d7e397
      Georges Racinet authored
      Release branches are the current `heptapod-0-16`, `heptapod-0-17` etc.
      They are essentially the result of merging of development branches
      (`heptapod` or `heptapod-stable`) with the latest upstream patch
      release.
      
      The rationale is that the extended RSpec scope is too heavy for
      regular development work, and even moreso in the near future,
      because we are precisely in the process of re-enabling more RSpec tests.
      
      For now, failures are allowed, so that it's non-blocking,
      but we should come up with a policy to prepare the release branches
      in advance.
      
      It's also possible to trigger the extended job by passing the
      `CI_HEPTAPOD_RSPEC_SCOPE` variable directly from the Web UI.
      Name differs from the environment variable that `heptapod_knapsack.sh`
      interprets because check occurs after the variable has been set with
      the `variable` directive (hence if it were the same, the job would
      always be triggered)
      
      We're also taking care that the regular job doesn't start
      when using the variable to trigger the extended job.
      
      --HG--
      branch : heptapod
      a8a3f5d7e397
    • Georges Racinet's avatar
      Heptapod CI: stop using "manual" for RSpec tests · 69d40ed3d6fd
      Georges Racinet authored
      Manually triggering parallel jobs is done for each of the
      spawned one independently. This isn't very useful, it's much
      more efficient to trigger by a whole pipeline on a given
      branch. Later on we may want to gate via an explicit environment
      variable, but this is good enough for now.
      
      --HG--
      branch : heptapod
      69d40ed3d6fd
    • Georges Racinet's avatar
      BareRepositoryImport: fixing for Git projects · 958932318e12
      Georges Racinet authored
      Not sure what this really does, and perhaps someday it'll be
      useful for Mercurial as well. But right now, and unless our
      functional tests complain, the simplest seems to decide that
      this is Git-specific code, and hence expecting a Git world.
      
      (current concern is having spec/lib/gitlab pass)
      
      --HG--
      branch : heptapod
      958932318e12
    • Georges Racinet's avatar
      Checks::ProjectMoved: applying rubocop rule · 5c256351617f
      Georges Racinet authored
      --HG--
      branch : heptapod
      5c256351617f
    • Georges Racinet's avatar
      RSpec tests: fixed spec/lib/gitlab/checks · 95db1a4943c9
      Georges Racinet authored
      At 25s, and given the importance, these should be considered for
      the regular MR subset.
      
      --HG--
      branch : heptapod
      95db1a4943c9
    • Georges Racinet's avatar
      Bitbucket import: removed most of the code · fdb960fc35b5
      Georges Racinet authored
      There aren't Mercurial repositories to import from Bitbucket
      any more: our divergence with upstream on this is now just a
      drag.
      
      Removal is partial in order not to jeopardize the installation
      of 0.18.0rc1 on foss.h.n (second OAuth, worker queue registration
      etc.). In all cases, behaviour on such configurations will be
      tested and adjusted before release.
      
      --HG--
      branch : heptapod
      fdb960fc35b5
    • Georges Racinet's avatar
      RSpec tests: introducing "scopes" in parallel runs · e3b221981d54
      Georges Racinet authored
      The new `HEPTAPOD_RSPEC_SCOPE` will be used to define several
      subsets of tests to run.
      
      The default is what we are currently
      running in CI for everyday development (Merge Requests on
      `heptapod` and `heptapod-stable` branches).
      
      The 'extended' scope will be used in release preparation, and
      will grow a lot from now on.
      
      --HG--
      branch : heptapod
      e3b221981d54
    • Georges Racinet's avatar
      RSpec parallel tests: exclusion tags · 20544f19c65b
      Georges Racinet authored
      These are the same tags used by upstream in the "unit" RSpec job
      (with a much wider pattern, of which ours is a small fraction).
      
      --HG--
      branch : heptapod
      20544f19c65b
  8. 10 Dec, 2020 1 commit
  9. 11 Dec, 2020 2 commits
  10. 10 Dec, 2020 5 commits
  11. 09 Dec, 2020 1 commit
    • Georges Racinet's avatar
      Merge with GitLab v13.5.4 · 3cc386756f43
      Georges Racinet authored
      This result passed all RSpec and functional tests on my
      dev workstation.
      
      Here follow the most notable changes that will need further
      attention.
      
      The upstream backup code has been entirely refactored, with a
      new separation of concerns that has the Repository class take
      care of the actual repo bundle production and restoration.
      This is a breeze for Heptapod and its hierarchy of repository
      classes. Not only is our specific code clearly delimited and
      short (45 lines, including comments), but it is also more
      future proof because we don't rely on spaggheti-like conditionals
      any more. For instance, the day native projects don't include
      a Git repository any more, we can simply provide appropriate
      methods in HGitalyRepository. First shot implementation passed
      the functional tests right away. It will need RSpec tests, though,
      which are by the way now much easier to write as well.
      
      There's been refactoring around Wikis, probably related to the
      introduction of the Group Wikis. It was enough to pass the
      tests to just delegate the two Heptapod-specific methods needed
      for the raw repository instantiation, but this needs more scrutinity,
      and probably Mercurial options for Group Wikis have to be
      considered.
      
      --HG--
      branch : heptapod
      3cc386756f43
  12. 08 Dec, 2020 7 commits