Strauman / travis-latexbuild

Building LaTeX packages using Travis-CI
12 stars 4 forks source link

Gitter

Master build status: Build Status

Quickstart build status: Build Status

The repo for the dockers used can be found here

Check out the quickstart branch to get started with a base setup!

If you're reading this at docker hub, you probably want to head on over to the git repo.

How it works:

  1. You push to the git repo containing your code.
  2. Travis runs the test files you specified (see below).
  3. Travis gives a build status of "failed" if any of the builds doesn't result as expected.
  4. (optional) Travis pushes (only) the resulting PDFs to a branch called travis-BUILDNO where BUILDNO. will be replaced by the current travis build number. You can choose to push these to a release instead of a branch by using the push-type option (see below).

Setup:

  1. In your main git repo root add this .travis.yml, or if you don't use the travis-texbuild.sh you can use this .travis.yml. Docs for the configuration options in your .travis.yml is found further down in this readme.
  2. Add the travis-texbuild.sh to .travis/travis-texbuild.sh directory you just created (this file is pushing the branch. You can omit it if you don't want to push the travis-BUILDNO-branch to your repos.
  3. If you want the push-branch or push-release functionality, do the following
    1. Go to github personal access tokens and generate a new token
    2. You need to encrypt your github token, via travis, and add it to the .travis.yml. If have ruby (gem) installed you can do:

Things to note:

Configuration options

You can specify configurations in your .travis.yml in the form

tex-config:
  - config-name=value

build-pattern

tex-scheme

Which TeX-scheme to use; this is, basically, how many packages are installed on the docker image by default.

packages

What packages should also be installed using TeXLives tlmgr before running the TeX-files. Note that when using the texliveonfly image, it will attempt to install missing packages automatically.

latexmk-flags

push-type

Where to publish the pdfs generated. The option for pushing to release is coming: #3 - Push to releases instead of branches.

Contributing

Talk about the files, tex profiles and so forth.

Instructions for building the docker image on Linux (using IntelliJ)

Building the docker image

Running the docker image