Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Travis ci #8

Merged
merged 55 commits into from
Oct 7, 2015
Merged

Travis ci #8

merged 55 commits into from
Oct 7, 2015

Conversation

johanneskoester
Copy link
Contributor

Hi guys,
I have finished the work on automatic builds and tests with Travis CI.
This pull request introduces the following changes:

  • all recipes are moved to the recipes subfolder
  • the Docker image is modified to include a build script that uses conda to build all recipes
  • conda is configured to skip packages that are already present in bioconda in the same version
  • if executed on the master branch, the script uploads all successful builds to our channel (using a private token instead of username and password)
  • all failed builds/tests are reported at the end
  • Travis is configured to build for both Python 3.4 and Python 2.7 and Numpy 1.8. This can be easily extended in the future.

This approach allows us to test any branch or pull request. Further the master branch will always be in sync with the bioconda channel.

Everything works now, but the pysam test fails for Python 2.7 while importing htslib. This is not really related to this branch, we just did not have a Python 2.7 build of pysam before.

@johanneskoester
Copy link
Contributor Author

Ok, I have "fixed" the pysam test, by removing some import checks that seem to be Python version specific. The simple pysam import works. Ryan, are you ok with that change?
Now the tests only fail because pybedtools cannot be compiled on Python 2.7. Looks like a __future__ import is misplaced.

@daler
Copy link
Member

daler commented Oct 6, 2015

Very nice!

Honestly compiling pysam has been giving me a lot of trouble recently, esp on Mac. I will need to do some more testing to see if those other imports are needed when actually using pysam. Hopefully the simpler import test will be fine.

I think one reason pybedtools failed is because it needed pysam built for py27 (see this line). But I guess since pysam comes later alphabetically, it wasn't built yet.

However, it looks like pysam for py27 was successfully uploaded now, so maybe a re-run of the Travis tests will work.

@daler
Copy link
Member

daler commented Oct 6, 2015

Also a thought on dependencies, like pybedtools depending on pysam:

If B depends on A, then perhaps the workflow should be

  • open a PR to build A
  • ensure test passes, and therefore A gets uploaded to conda
  • then open a PR to build B

@johanneskoester
Copy link
Contributor Author

Exactly.
After restarting the build, there is still this import error in pybedtools:

Using /tmp/conda-build/anaconda/envs/_build/lib/python2.7/site-packages
Finished processing dependencies for pybedtools==0.7.0
Compiling /tmp/conda-build/anaconda/envs/_build/lib/python2.7/site-packages/pybedtools-0.7.0-py2.7-linux-x86_64.egg-info/scripts/pbt_plotting_example.py ...
  File "/tmp/conda-build/anaconda/envs/_build/lib/python2.7/site-packages/pybedtools-0.7.0-py2.7-linux-x86_64.egg-info/scripts/pbt_plotting_example.py", line 5
    from __future__ import print_function
SyntaxError: from __future__ imports must occur at the beginning of the file

Easy to fix though.

@daler
Copy link
Member

daler commented Oct 6, 2015

Ah thanks. Yep, just saw that upon trying to build it myself. Building to the latest tag (0.7.1) should fix this, but I'm testing locally first. I'll push to this branch when it's done.

@johanneskoester
Copy link
Contributor Author

I have implemented the OSX building and think the changes are ready for merging now.

johanneskoester added a commit that referenced this pull request Oct 7, 2015
Travis CI based automatic building, testing and uploading of packages.
@johanneskoester johanneskoester merged commit 1ac2206 into master Oct 7, 2015
@johanneskoester johanneskoester deleted the travis-ci branch October 7, 2015 16:58
@daler
Copy link
Member

daler commented Oct 7, 2015

Wow, this is fantastic!

@chapmanb
Copy link
Member

chapmanb commented Oct 7, 2015

Johannes;
This is so incredible. Thanks for putting all the Travis pieces together. Brilliant.

@johanneskoester
Copy link
Contributor Author

Thanks :-).

martin-raden pushed a commit that referenced this pull request Nov 15, 2016
BiocondaBot pushed a commit that referenced this pull request Oct 29, 2022
Merge PR #37080, commits were: 
 * Update meta.yaml
 * Update meta.yaml
 * Update meta.yaml
 * Merge branch 'master' into master
 * Merge branch 'master' into master
 * Merge pull request #8 from marcDabad/cvlr_package

new emas commit
 * new emas commit
 * Merge pull request #7 from marcDabad/cvlr_package

fix variable
 * fix variable
 * Merge branch 'master' into master
 * Merge pull request #6 from marcDabad/cvlr_package

gcc 2 cc
 * gcc 2 cc
 * Merge branch 'master' into master
 * Merge pull request #5 from marcDabad/cvlr_package

passes tests in local
 * passes tests in local
 * Merge branch 'master' into master
 * Merge pull request #4 from marcDabad/cvlr_package

cc
 * cc
 * Merge pull request #3 from marcDabad/cvlr_package

Cvlr package
 * Merge branch 'master' into master
 * Merge branch 'cvlr_package' of https://github.com/marcDabad/bioconda-recipes into cvlr_package
 * cvlr_recipe
 * Merge pull request #2 from marcDabad/cvlr_package

Cvlr package
 * Merge branch 'master' into cvlr_package
 * Merge pull request #1 from bioconda/master

update
 * cvlr_recipe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants