Open13

github 上でのCI環境を整備する

akiemonakiemon

やりたいこと

  • github action でマージ前のブランチに自動でbuild, cppcheck, gtest を掛ける。
  • 上記を特定の環境(docker)で行う。
akiemonakiemon

試しに作成したworkflow

https://github.com/sibafb/learn_cpp/blob/main/.github/workflows/cmake.yml
akiemonakiemon

thread 関係でエラーとなっていて、このあたりを修正する必要がある。

akiemonakiemon

http://ogawa.s18.xrea.com/tdiary/20200104p01.html

find_package(Boost)でBoostを見つけさせる。また、ライブラリとしてlibboost_logとlibboost_threadを使うことを指示している(libboost_threadを指定しているのはlibboost_logが必要としているため。CMakeのバージョンが高い場合はthreadを明記しなくてもこの依存関係は自動的に解決される)。

このあたりの 自動で見つけてくれない問題かもしれない。

akiemonakiemon

静的解析ツールとしてCodeQLがあった、cppcheckより導入が容易そう?なので、下記の手順で導入してみた。

https://qiita.com/iwatake2222/items/713785a229a7f81b583a#github-actionsを用いたコードの静的解析