TravisCIでFortranをCIする


TravisCIとは?

githubと連携してCIを行ってくれるサービス。
パブリックのリポジトリの場合は無料で利用できる。

FortranはTravisCIの対応言語に入っていない

対応言語を調べてみるとメジャーな言語はほとんど対応しているみたいで、使いやすそうです。

ただ、Fortranが入ってないので、それには対応していないのかと思いました。
が、良く調べてみると、apt-getでコンパイラをインストールできる場合は問題ないみたいです。
とりあえずやってみました!

GitHubにパブリックのリポジトリを作成

まず初めにGitHubに適当なリポジトリをパブリックで作成します。
パブリックなら無料でTravisCIを使うことが出来ます

TravisCIでやること

  1. https://travis-ci.org/ よりTravis CIに登録する
  2. 登録後、レポジトリを有効化する

Fortranのプログラムを書く

ファイル名 test.f90

implicit none
real(8),allocatable::x(:,:),y(:,:)
integer::i,j
allocate(x(5000,5000))
allocate(y(5000,5000))

        do i=1,5000
                do j=1,5000
                        x(j,i)=0.0D+0
                        y(j,i)=dble(i)
                enddo
        enddo
        do i=1,5000
                do j=1,5000
                        x(j,i) = x(j,i)+y(j,i)
                enddo
        enddo
        write(*,*)x(5000,5000)
end

TravisCI用の設定ファイルを書く

ファイル名 .travis.yml

addons:
  apt:
    packages:
    - gfortran
script: 
  - gfortran test.f90  && ./a.out

apt-getであらかじめインストールしておきたいものはpackages:の下に書いておくとテスト前に自動でインストールしてくれるみたいです。apt-getはubuntuのyumコマンドみたいなやつです。

テスト内容はscript:の下に書くとやってくれるみたいです。コンパイル後、実行するようなファイルを書きました。

適当なコミットを作ってプッシュする

push時に自動でテストしてくれるので適当にコミットしてpushします。

$ git add -A
$ git commit -m 'Testing Travis CI'
$ git push

結果

push後、もう一度https://travis-ci.org/ に行けば、このような感じでテストができています。

まとめ

TravisCIに関して、言語が指定されていたので、特定の言語しかできないのかな?と思っていました。
しかし、実際に触れてみるとそんなことはなく、自由度高く設定することが出来るみたいです。
テスト後のビルドをリリースページにデプロイすることも出来るみたいです。
結構使いやすく感じたので今後積極的に使っていこうと思います。

参考