A few approaches of running Pandoc in TravisCI.
Using Travis’ standard infrastructure, you can simply use apt-get
:
sudo: true
before_install:
- sudo apt-get -qq update
- sudo apt-get install -y pandoc
Depending on what Travis’ current Linux environment is (Ubuntu Trusty at the time of writing), this may be all you need. However, you may be limited to an old version of Pandoc (Trusty currently has v1.12.2).
Using Travis’ container infrastructure (Docker), as pandoc is in the APT addon whitelist, you can do:
addons:
apt:
packages:
- pandoc
However, as before, this limits you to the version of pandoc currently in the Ubuntu repos.
As pandoc helpfully ships .deb
packages in its GitHub releases, you can download the .deb
and install it manually.
sudo: true
before_install:
- curl -L https://github.com/jgm/pandoc/releases/download/1.19.2.1/pandoc-1.19.2.1-1-amd64.deb > pandoc.deb
- sudo dpkg -i pandoc.deb
The benefit here being you can choose any version of Pandoc, so long as they continue to ship a .deb
for the right architecture.
Taking the above further, we manually extract the .deb
without sudo
and thereby have faster job startup times (sudo
/non-container based infrastructure jobs take ~20 secs to spin up).
before_install:
- curl -L https://github.com/jgm/pandoc/releases/download/1.19.2.1/pandoc-1.19.2.1-1-amd64.deb > pandoc.deb
- dpkg -x pandoc.deb .
- export PATH="$PWD/usr/bin:$PATH"
Note, this only works as Pandoc is built statically and is liable to break. However, coupled with caching, this method produces the fastest builds with arbitary Pandoc versions.
See tlvince/talks/.travis.yml for a version with caching.