1. 08 Dec, 2020 9 commits
  2. 07 Dec, 2020 5 commits
    • Georges Racinet's avatar
      Heptapod CI: prebuilding Gitaly and other deps, pushed on download.h.n · 5fc14f94261f
      Georges Racinet authored
      if it works, we'll probably just keep the result and enable the job
      only on GitLab version bumps (perhaps with the `changes` directive)
      
      --HG--
      branch : heptapod-stable
      5fc14f94261f
    • Georges Racinet's avatar
      Heptapod CI: installing proper versions of HGitaly & py-heptapod · bf0b1d7eaa6c
      Georges Racinet authored
      Heads up: in release branches, the tests are expected to pass
      for the versions specified in `python/requirements.txt`.
      
      Was spotted while working on the Gitaly prebuild, but really
      has to be fixed: we were running the tests always against the
      default branch of the Python dependencies (HGitaly and py-heptapod).
      
      There is a complication with tags, and especially release
      branches. For the latter, there is no simple way to know
      which is the appropriate branch of the Python deps. Shortly
      after the beginning of the release branch, it would clearly
      be `default`, but after the swap of branches in the Rails app,
      it would be `stable`.
      
      For tags, the tests are run against the exact versions specified
      in `python/requirements.txt`, that was easy.
      For release branches, we just do the same. This is a lesser evil.
      Hence now, pushes to release branches are expected to make the
      appropriate version bumps (this was already quite often the case).
      
      --HG--
      branch : heptapod-stable
      bf0b1d7eaa6c
    • Georges Racinet's avatar
      Heptapod CI: refactoring of hgitaly-test-build · e9eab32a7d58
      Georges Racinet authored
      Now there's a separate function to update configuration
      files, will be useful for next change.
      
      --HG--
      branch : heptapod-stable
      e9eab32a7d58
    • Georges Racinet's avatar
      Heptapod CI: match HGitaly build/spawn with Gitaly · 56a1a392e87d
      Georges Racinet authored
      This creates and preserves the `tmp/tests/hgitaly` subdir
      and separates for CI the install (build) and startup (spawn)
      phases.
      
      By putting `hgitaly.socket` in that preserved directory,
      it also fixes test runs on developer machines involving
      several spec files (previously, the socket was destroyed
      at the end of each spec file)
      
      This is heavier than strictly needed for HGitaly, but
      matching what is already done for Gitaly will help us
      schedule differently (prepare phase, straight download), and
      prebuilding just Gitaly, but with `TestEnv` that actually starts
      HGitaly is an unmaintanable mess.
      
      --HG--
      branch : heptapod-stable
      56a1a392e87d
    • Georges Racinet's avatar
      Heptapod CI: fixed URL for initial cloning of py-heptapod/hgitaly (!) · 3cf6af5d98ac
      Georges Racinet authored
      The only conclusion is that it worked because almost all the runners
      already had them (spotted on a case where concurrent-1 got used)
      
      --HG--
      branch : heptapod-stable
      3cf6af5d98ac
  3. 10 Nov, 2020 2 commits
  4. 13 Oct, 2020 1 commit
    • Georges Racinet's avatar
      Heptapod CI: upgrading hg-evolve · 9431f6af7970
      Georges Racinet authored
      While investigating some failed builds, I found that the
      HGitaly repo couldn't be updated for them (failed pull) and
      that upgrading hg-evolve fixed that, as well as the whole build.
      
      --HG--
      branch : heptapod
      9431f6af7970
  5. 27 Jul, 2020 4 commits
    • Georges Racinet's avatar
      heptapod-ci: upgrading pip in the build · 093db2bd36ee
      Georges Racinet authored
      This can help with hgitaly installation.
      
      --HG--
      branch : heptapod
      093db2bd36ee
    • Georges Racinet's avatar
      heptapod-ci: installing HGitaly · 1dfaabbeaa28
      Georges Racinet authored
      We'll still need to run `hgitaly-serve` to write RSpec tests
      relying on HGitaly, but at this point we should have all
      dependencies to do so.
      
      --HG--
      branch : heptapod
      1dfaabbeaa28
    • Georges Racinet's avatar
      heptapod-ci: switching to Python3.8 with our own base image · 5683f86aa4a8
      Georges Racinet authored
      --HG--
      branch : heptapod
      5683f86aa4a8
    • Georges Racinet's avatar
      heptapod-ci: preparations for tests involving Mercurial · 3e78a99421fa
      Georges Racinet authored
      This is done by a separate Python script originally because
      it'd otherwise be an escaping nightmare with sed commands as
      `prepare_build.sh` issues (especially because we'd need
      an absolute path, and hence to escape $PWD).
      
      Now this script does the following:
      
      - create a virtualenv
      - install all py-heptapod needed dependencies, for now
        in a Python2 virtual environment. We'll have to provide
        a recent Python3 for HGitaly later.
      - configure GitLab for Mercurial operation.
      
      This is done after `TestEnv.init` because the later would
      cancel our changes in `config/gitlab.yml`
      
      Note also that putting the local `test.hgrc` file in `tmp/tests`
      would not work: something inside the `bin/rspec` run would delete
      it before the time when the actual tests need it.
      
      --HG--
      branch : heptapod
      3e78a99421fa