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:
-
Set up Travis on their repository with a GitHub access token (we call the variable
GITHUB_API_KEY
.) -
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 anon:
condition to thedeploy:
bit, telling Travis which build to deploy from. -
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.)