Help us understand the problem. What is going on with this article?

Travis CIを使ってupLatexの文書の自動テストをする

More than 3 years have passed since last update.

やりたいこと

論文を複数人で書くとき、Git+GitHubで管理したい。しかし、コンパイルが通らない状態でブランチをプッシュされると、そのブランチをマージした人まで困ることになる。
そんなときに、自動テストを導入すれば、事前にテストに合格したものだけマージすることができる。
テストは、コンパイルが通ればテストに合格、通らなければ失敗とします。

TeXで自動テストをする情報がそもそも少ないし、ましてupLaTeXの情報はさらに少ないので書きました。

方法

Travis CIの使い方はさほど難しくないので割愛。.travis.ymlの記述法だけ書いておきます。

before_install:
  - mkdir -p $HOME/texlive
  - curl -L https://github.com/urdh/texlive-blob/releases/download/20170106/texlive.tar.xz | tar -JxC $HOME/texlive

install:
  - export PATH=$PATH:$HOME/texlive/bin/x86_64-linux
  - tlmgr update --self
  - tlmgr install collection-langjapanese
# 自動テストの時間を短縮するために、最小限のパッケージしかインストールしていません。
# パッケージをTeXファイルに追加した際、自動テストのビルドが失敗する場合はここにも追加してください。
  - tlmgr install newtx
  - tlmgr install newpx fontaxes kastrup tex-gyre

script:
  - ptex2pdf <Filename>.tex -u -l -ot -interaction=batchmode     #batchmodeにしないと、TeXのエラーが出たときに入力を求められるので、
                                                                   #タイムアウト(10分)するまで時間を浪費します。
#必要に応じてupbibtexなども使えます。

気になること

毎回TeXをダウンロードしてくるのは無駄な気がします・・・。最小構成とはいえ、140MBくらいあります。
原因不明でテストが失敗する場合、installで tlmgr update --self --all を実行するとうまくいくかも知れません。

テスト結果をSkypeに通知する

GitHubのイベントをSkypeのBotに喋らせるをごらんください。

fr0077
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした