C++ のプロジェクトを Travis CI + github で自動テストする

以下のページを参考にしてやってみました。

実験用のプロジェクトをつくる

とりあえず、最小限のファイルだけ用意して試してみます。

ディレクトリ構成

|--.travis.yml
|--src
| |--test.cpp

.travis.yml

language: cpp
script:
  - g++ --version
  - g++ -Wall -Wextra -pedantic src/test.cpp && ./a.out

travis の設定ファイルになります。 このファイルの :script に対して実行(コンパイル)する記述を書き込みます。 (makefile があるのでれば make したりとか あと厳密にいえば g++ --version はテストに必要はないんですが、実行環境の確認用に書いてあります。

test.cpp

#include <cassert>

int
main(){
    int n = 10;
    assert(n + n == 20);
    
    return 0;
}

テスト用のファイル

github へ push

github に新しいリポジトリをさせて先ほど作ったファイルを push します。

$ git init
$ git add .
$ git commit -m "first commit"
$ git remote add origin git@github.com:osyo-manga/cpp-test-travis-ci.git 
$ git push -u origin master

ちなみに今回作成したリポジトリは以下になります。

Travis CI を ON にする

Travis CIgithub でログインして、先ほどつくったリポジトリを ON に設定します。

あとは github へ push した時に .travis.yml の設定に応じてテストが実行されるようになります。 (先に githubリポジトリへ push していた場合は再度 push する必要が有ります。

ちなみにテストの実行までにちょっと時間がかかりました。 とりあえず、だいたいの流れは掴んだのでどんどん CI していきたい。