bird-house / cookiecutter-birdhouse

Cookiecutter template for Birdhouse PyWPS birds.
http://cookiecutter-birdhouse.readthedocs.io/en/latest/
BSD 3-Clause "New" or "Revised" License
3 stars 4 forks source link

Implement `tox` for easier automated processing #99

Closed Zeitsperre closed 3 years ago

Zeitsperre commented 4 years ago

Tox is a tool for running multiple automated builds locally, offering a means of configuring many more build specifications, while not being dependent on Travis CI.

Build can be written similar to the build configurations present in the .travis.yml and Travis CI can use these builds to run build checks, same as currently, but with tox we can evaluate whether all tests are passing for us locally, using virtual environments or conda.

For some examples of how tox works, see the pair of files deployed in xclim: https://github.com/Ouranosinc/xclim/blob/master/tox.ini, which is called on Travis CI via https://github.com/Ouranosinc/xclim/blob/master/.travis.yml.

The proposal I have is to move much of the environment configuration present in the current .travis.yml and to moveit into a tox configuration that benefits from Anaconda (via tox-conda), and can be deployed on Travis-CI (via tox-travis).

Thoughts?

tlvu commented 4 years ago

Tox's neat for testing multiple version of python locally. I wonder how we can sync the cookiecutter with xclim as well to avoid too much divergence between xclim and all the birds.

Zeitsperre commented 4 years ago

This is certainly possible, but I wouldn't put xclim's configuration here as it's really different, and doesn't rely on conda except for a couple of builds (Windows/Chocolatey and Linux).

We have the cookiecutter-pypackage-ouranos project that was created after xclim was started, but it needs work (also, I accidentally forked it from a project with no license, so I''m tempted to re-fork from an openly-licensed repo and start from scratch).

Care to open an issue on the PCDO board or xclim for that?

tlvu commented 4 years ago

Care to open an issue on the PCDO board or xclim for that?

https://github.com/Ouranosinc/xclim/issues/509