data-lessons / librarycarpentry

Materials for Library Carpentry development
22 stars 8 forks source link

Add Travis Continuous Integration to prevent Jekyll build failing #38

Closed thegsi closed 6 years ago

thegsi commented 7 years ago

http://jekyllrb.com/docs/continuous-integration/travis-ci/ I am happy to implement but will require lesson repo admins to have Travis accounts and enable etc

drjwbaker commented 7 years ago

Pinging @cmacdonell

jt14den commented 7 years ago

@thegsi I poked around a bit and didn't find an existing cibuild or .travis.yml in the SWC lessons, but there's this issue: https://github.com/swcarpentry/styles/issues/86 and an outstanding PR https://github.com/swcarpentry/lesson-example/pull/96 to add a .travis.yml, which will run the existing make lesson-check-all in travis. We might want to see what's going on with that b/c we will merge swcarpentry/styles changes into libcarp lessons to keep the template up-to-date. I have admin on a number of the repos and can set up the integrations when that happens. I think it's a good idea to do this, but I'm not totally familiar with what lesson-check-all checks for :), so will have to study up.

jduckles commented 7 years ago

We have a .travis.yml that is specific to the SWC website, but it:

  1. installs and runs yaml-lint to validate yaml headers and
  2. does a jekyll build to see if that exits cleanly.

https://github.com/swcarpentry/website/blob/gh-pages/.travis.yml

thegsi commented 7 years ago

@jt14den I think having setting up travis and using the same .travis.yml that @jduckles mentions would be useful and improve the workflow. Will look at lesson-check-all to figure out what's going on.

jt14den commented 7 years ago

@thegsi I agree. How about we try it on library-shell first. I can set up the integration with travis. Will you do the PR?

Thanks @jduckles.

jduckles commented 7 years ago

@thegsi you'll probably have to do little bit to adapt the .travis.yml lines 13-14 calling yaml-lint to your needs. I didn't want to run it on all files in the whole swcarpentry/website repo. So I just run on pages/ and _posts/. It also calls bin/cibuild so that has to be brought along as well.