simon-anders / htseq

HTSeq is a Python library to facilitate processing and analysis of data from high-throughput sequencing (HTS) experiments.
https://htseq.readthedocs.io/en/release_0.11.1/
GNU General Public License v3.0
122 stars 77 forks source link

CI tidying-up #13

Closed iosonofabio closed 7 years ago

iosonofabio commented 7 years ago

Hey Simon,

If that's ok with you I'd start by fixing the status of travis on both branches 'master' and 'python3'. Having good tests in place is essential to fix bugs down the road.

For instance, the python2 travis worker requires gcc 5.0 but many folks will be stuck with gcc 4.8+ so. That ok?

yhoogstrate commented 7 years ago

@iosonofabio I am trying to work out a way to let travis test with multiple releases of Pysam (0.6, 0.8, 0.9 and hopefully 0.10 soon too)

iosonofabio commented 7 years ago

I am looking at @yhoogstrate 's travis.yml (thanks for that!) and I see you used miniconda on ubuntu. If you compare it with my travis.yml you immediately realize that miniconda is both not necessary and makes the file quite unreadable.

I know anaconda is useful because it is cross-platform, but our travis is not, so we gain nothing but still loose readability. I'd be in favour of using native ubuntu packages instead of conda (like in my travis.yml).

iosonofabio commented 7 years ago

@yhoogstrate just a side comment: if that works I'm happy but I think the code might have a fair amount of specificities for pysam <=0.8 as opposed to >=0.9, so even if we get the test to work on the same branch it is not obvious that the CODE will ever work on the same branch.

We just need to keep this in mind, no criticism intended!

yhoogstrate commented 7 years ago

@iosonofabio

I am looking at @yhoogstrate 's travis.yml (thanks for that!) and I see you used miniconda on ubuntu. If you compare it with my travis.yml you immediately realize that miniconda is both not necessary and makes the file quite unreadable.

I had issues with the travis setup in 2.7. Compilation using the swig from your PPA was not able to find swig in $PATH. Any suggestions?

iosonofabio commented 7 years ago

let me try and fail and I'll come back to you ;-)

yhoogstrate commented 7 years ago

i'll take a break now before our branches become totally separated

simon-anders commented 7 years ago

Thanks a lot to both of you. And feel free to work in both branches.

Maybe we should at some point rename 'master' to 'python2', because they will be on equal footing.

The best plan might be to have the python2/master branch only fix the most urgent issues, i.e., actual incompatibilities with e.g. pysam, with only the goal to keep legacy code running, by rolling up one last release, and do all further stuff only in the python3 branch.

yhoogstrate commented 7 years ago

I am unfortunately not that deep into cython, but would it not be possible to keep 1 codebase that is compatible with python2 and python3?

iosonofabio commented 7 years ago

Python 3 uses bytes/strings correctly whereas Python 2 strings are horribly broken by design, that was most of my changes in the code. Also, Python 2 is gone in 3 years from now and Python 3 is stable since 2008.

So I will put limited effort in that direction and would lean towards only accepting PRs if they don't make the code totally unreadable.

That said, if you wanna give it a go, go for it! :-)

On February 2, 2017 1:23:44 AM PST, yhoogstrate notifications@github.com wrote:

I am unfortunately not that deep into cython, but would it not be possible to keep 1 codebase that is compatible with python2 and python3?

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/simon-anders/htseq/issues/13#issuecomment-276906916