本当は怖いHPC

HPC屋の外部記憶装置。メモ書き。ちゃんとしたものは別のところに書く予定です

C++11とMPIを使ったプロジェクトをTravis CIでテストする

githubで開発しているプロジェクトのCIを実施したいが、C++11をサポートするコンパイラが必要だ。さらに、MPIを使ったプロジェクトではmipcxxとmpirunが必要だ。Github上のプロジェクトのCIを行ってくれるサービスはCircle CIなどもあるが、C++には対応していない。このエントリを書いている時点ではTravis CIが唯一の選択肢のようだ(ビルドボットを自分で書くなら別だが)。

いくつかのサイトを参考にさせていただいて、以下のようなコードを記述してテストを実行することができた

Travis CI で最新の Clang (3.5) を使ってテストする - sorry, uninuplemented:

Travis CI で最新の gcc を使って自動テスト - sorry, uninuplemented:

Travis CIとは関係ないが、MPIで最新のコンパイラを使うためには、mpichなら -cxx=clang++-3.5 などのようにコンパイラを指定すれば良い。

language: cpp
before_install:
  - sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test
  - wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
  - sudo add-apt-repository --yes 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise-3.5 main'
  - sudo add-apt-repository --yes 'deb http://llvm.org/apt/precise/ llvm-toolchain-precise main'
  - sudo apt-get update -qq
  - sudo apt-get install -qq mpich2 libmpich2-3 libmpich2-dev
  - sudo apt-get install -qq g++-4.9 g++-5
  - sudo apt-get install -qq libstdc++-4.9-dev libstdc++-5-dev
  - sudo apt-get install -qq clang-3.5
script: bash ./test.sh travis

github.com