A few approaches of running Pandoc in TravisCI.
Using Travis’ standard infrastructure, you can simply use
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/220.127.116.11/pandoc-18.104.22.168-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
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/22.214.171.124/pandoc-126.96.36.199-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.