singer-python icon indicating copy to clipboard operation
singer-python copied to clipboard

Test multiple Python versions using Travis-CI and Conda

Open OriHoch opened this issue 7 years ago • 5 comments

  1. added .travis.yml for testing multiple python versions using Travis-CI and Conda - https://travis-ci.org/OriHoch/singer-python/builds/444822592
  2. minor changes to check_prereqs to support running using Conda environment which is slightly different then virtualenv

OriHoch avatar Oct 23 '18 06:10 OriHoch

I'm not opposed to the idea of testing against multiple versions of python but we need to do it within circle rather than Travis. All of our existing CI infrastructure is hosted there.

Could you port this to circle?

At the very least it will need to be tested against python 3.5.2 as that's the primary version used to run taps and targets. The main way I know how to do that is actually to run an ubuntu 16.04 image like so but there may be a better way.

I'm a little leery of the use of miniconda as that's not part of our standard tooling. Is there a reason we're using that?

timvisher avatar Oct 23 '18 16:10 timvisher

Hi, I'm just used to working with Travis, don't think I'll have time soon to port to Circle

Travis is free for open source projects, so if you merge it and enable travis it will work alongside Circle and give another indication regarding compatibility with Python versions (which is what I needed to integrate with Singer..)

Python 3.5.2 is included in the travis tests, you can see here - https://travis-ci.org/OriHoch/singer-python/builds/444822592 and you can easily add any Python version (supported by conda) to the .travis.yml

Conda is very useful for testing because it provides a "clean" Python environment, separated from system dependencies and libraries, as opposed to virtualenv which only separates Python dependencies. It also makes it easier to test multiple Python versions and ensure compatibility with Windows / Mac.

OriHoch avatar Oct 24 '18 06:10 OriHoch

BTW, the Makefile ensure Python version is 3.4.3, maybe need to change it to 3.5.2?

OriHoch avatar Oct 24 '18 06:10 OriHoch

Thanks for the info! If we have any time maybe we'll be able to port it to circle then since we have more expertise with that tech.

Hopefully someone familiar with both can come along and finish it up. It would be very useful to have testing across all those versions.

timvisher avatar Oct 24 '18 14:10 timvisher

Also, regarding 3.5.2, you're right of course and that has been done in this PR. https://github.com/singer-io/singer-python/pull/82

timvisher avatar Oct 24 '18 14:10 timvisher