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: We should use this for build checks and simple tests #63

Closed
jhmatthews opened this issue Jan 27, 2014 · 1 comment
Closed

Travis: We should use this for build checks and simple tests #63

jhmatthews opened this issue Jan 27, 2014 · 1 comment
Assignees

Comments

@jhmatthews
Copy link
Collaborator

Travis is something we should be using - it automatically carries out basic checks and builds when someone pushes to the main branch of a repository. Stuart uses it for Tardis.

The Getting started guide is here.

The basic idea is you sync Travis up with the repository, and place a .yml file (Tardis example is here) in the repository. This then gives travis information about what tests to run, and it gives a build status on things like build requests and commits I believe. A .yml example for us might look something like:

language: c

compiler:
  - mpicc

script: 
   ./configure
   make python
   make py_wind    

I'll try and sort this out properly as soon as the CV paper is done, or sooner if it's easy.

In due course we should also get it to do the full installation, with cfitsio and gsl installs, simple thin shell tests and reading in atomic data. That way the only tests we have to do relate to the physics and running of the actual code.

@jhmatthews
Copy link
Collaborator Author

This is now implemented. Every time anyone pushes to the dev branch, it downloads the directory structure, compiles GSL and CFITSIO, then makes python and py_wind. It takes about 4 mins.

A build status picture like this

Build Status

shows up in the README on the github site, and I get an email if any builds fail.

With a bit of clever coding we can probably get this to call functions and exit wrongly if anything messes up e.g. reading in atomic data, sanity checks on values etc. I will gradually try and incorporate more and more automatic tests into this.

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

No branches or pull requests

1 participant