Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@fr0077

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

やりたいこと

論文を複数人で書くとき、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に喋らせるをごらんください。

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
2
Help us understand the problem. What are the problem?