Travis-based LaTeX + Weave Demo

One problem I encountered over the past year was keeping track of compiled output (i.e., TeX PDFs and Jupyter notebooks) in my Julia project repositories. There are a few solutions, but we (me and @jlperla) found Travis CI to be easiest. I uploaded a minimal example at https://github.com/arnavs/test-tectonic.

It will use the tectonic docker image to compile all source in docs/tex/, and use a dedicated quantecon/julia-weave image to create notebooks from docs/notebooks/.

Vanilla commits (non-tag) will upload files to a release called dev (which is overwritten when we push new things.) And release builds will upload to that release, just like BinaryBuilder.jl.

To set this up, all someone needs to do is three things:

  1. Set up Travis on their repository with a GitHub access token (we call the variable GITHUB_API_KEY.)

  2. Copy/paste the relevant bit of .travis.yml (or the whole thing, if you’re fine testing the actual Julia code on 1.1/Linux.) If you want to set up a build matrix, just add an on: condition to the deploy: bit, telling Travis which build to deploy from.

  3. Set up the relevant directory structure (so docs/tex for your tex, docs/notebooks for your notebooks, and then each one should include a script you can copy/paste from the repo above.)

6 Likes