1. 17 Apr, 2018 2 commits
  2. 16 Apr, 2018 5 commits
  3. 13 Apr, 2018 2 commits
  4. 12 Apr, 2018 5 commits
  5. 10 Apr, 2018 9 commits
  6. 07 Apr, 2018 1 commit
  7. 06 Apr, 2018 1 commit
  8. 05 Apr, 2018 1 commit
  9. 04 Apr, 2018 6 commits
    • Julien Muchembled's avatar
      096993a3
    • Kazuhiko Shiozaki's avatar
    • Jérome Perrin's avatar
      slapos-testing: use buildout to install eggs · b9f53fc3
      Jérome Perrin authored
      Instead of having running test installing eggs with setuptools during `python setup.py test`, which fails for `caucase` because one of its dependency (namely `cryptography`) cannot be installed so easily, we want to install the dependencies via buildout, using the same installation methods than in the actual software profiles using our eggs.
      
      What I initially believed would be a small change turned out to be a long journey, especially because of using a develop version of `slapos.recipe.cmmi` caused signature changes in the parts installed by this recipe ( `git`, `openssl` etc - some parts that takes a bit of time to install ) so I had to fight with the software being reinstalled each time. Even though the cases which leads to reinstallation are understood (this even involved fixing a bug in buildout nexedi/slapos.buildout!14 ), this is still the case. Some solutions are proposed in the commit message of f4b6eedafd52b0d64f8b2bd1b57c752e02c88a65 , but this reached a state where we can consider first merging with this known problem or discuss ways of improving that before merging if it's considered as blocking. Current state is that it takes one hour to re-install what has to be reinstalled and run the test suite on test runner.
      
      Despite this issue, this approach already improve things, because:
       * `caucase` tests are running (and passing)
       * some `slapos.cookbook` are improved so that they reuse eggs from the buildout and do not install again eggs when the are run.
       *  ... and some other small cleanups
      
      This depends on nexedi/erp5!619 on the `erp5.util` side.
      
      /reviewed-on nexedi/slapos!309
      b9f53fc3
    • Jérome Perrin's avatar
      test: introduce makeRecipe utility function · f8df048c
      Jérome Perrin authored
      This function factorize the code to instanciate a recipe in a fake
      buildout.
      The new feature is that if running in a buildout directory, the recipe
      will reuse the eggs from this buildout instead of trying to install eggs
      again.
      f8df048c
    • Jérome Perrin's avatar
      slapos.cookbook: drop slapos.cookbook:egg_test · 8ed0ee5a
      Jérome Perrin authored
      we now use slapos.cookbook:wrapper instead
      8ed0ee5a
    • Jérome Perrin's avatar
      slapos-testing: rework to use buildout to install eggs and dependencies · c91c4722
      Jérome Perrin authored
      Instead of letting `python setup.py test` install the depencies, use
      buildout way of installing the eggs.
      
      This software use `interpreter` recipe of `zc.recipe.egg` to install a
      python with all eggs pre-installed. This is a way to get all the
      dependencies at install time instead of getting them at run time from
      pypi when running `python setup.py test`.
      `erp5.util.testsuite` has been extended to support a parameter to
      specify which python interpreter to use.
      
      One issue is that this way of installing eggs by buildout cause chicken
      and egg problem: cloning repository containing `slapos.recipe.cmmi`
      needs git, and to compiling git needs `slapos.recipe.cmmi`.
      The consequence of this is that re-running software will install too
      many parts again.
      One solution for this would be to clone `slapos.recipe.cmmi` with a
      `git` command provided by testnode or system package.
      Another solution would be to not install `slapos.recipe.cmmi` develop
      egg, simply install the egg from it's current pypi version while
      installing the software (running tests will be from the git checkout
      anyway).
      For now this is open issue.
      
      Another point of attention is that `python setup.py test` install the
      requirements listed in `test_requires`, but `zc.recipe.egg` does not
      provide a way of installing these. Some of our packages have `[test]`
      entrypoints, in this case, the software installs the test entrypoints.
      For others, we install the eggs.
      
      Other improvements:
       * use a simple `slapos.recipe:wrapper` instead of `slapos.cookbook:egg_test`
       * fix the typo in repository name erp5-util-repository ->
         erp5.util-repository ( this mean we will have to fix the test suites in
         nexedi ERP5 )
       * document "what is this software" and a scenario of how this software
         can be used to develop slapos eggs.
       * switch to buildout-hash.cfg for easier template hash management.
      c91c4722
  10. 30 Mar, 2018 3 commits
  11. 29 Mar, 2018 5 commits