DungeonTemplateLibrary
DungeonTemplateLibrary copied to clipboard
circle CIでのビルド/テストにcmakeが利用されていないのはなぜなのか?
#18 でcmake対応したのに、CIでそれを使わなかったらメンテされていないビルド手順になってしまい、実質死んでしまう。
これはわたしの知識不足なんですが、 今使っているCIにcmakeが入っていなくてデフォルトの状態ではcmakeの使用が出来ないのです。 cmakeをどうすれば追加(使用)出来るのか(知識が不足しすぎていて調べても)わからず、完全にお手上げ状態です。 (gccは元から入っているので、そちらは使えています)
(CI難しい……(言い訳))
docker imageを作らんとだめですね。私はちょっとそれする時間ないですが。
すくなくともcircleci/ruby:2.4.1
を使うって違和感あります、ruby!?って感じで。
docker imageって何なのか1ミリもわかっていないです……。 (なんだか難しそう)
circleci/ruby:2.4.1 はよくわかりませんが、チュートリアルのまんまです……。 (CIの基本原理を全く理解していない)
https://hub.docker.com/r/circleci/ruby
dockerimageが何を持っているか調べるには https://forums.docker.com/t/how-can-i-view-the-dockerfile-in-an-image/5687/3 こんな方法があるっぽいですね。
docker image作っています。 https://github.com/yumetodo/BuildContainers https://hub.docker.com/r/yumetodo/buildcontainers/tags
ただ、lcoveralls
を入れるのに苦戦していて、
Error relocating /usr/lib/libruby.so.2.4
とか言われるので
http://www.indexgo.tk/c0d3man52/notes/wajeievbrnclatitb56u
を参考にrubyをビルドしています(あれっ
ところがruby-install
のmake uninstall
がぶっ壊れているためPRを投げている状況です。
https://github.com/postmodern/ruby-install/pull/348
ref:
- https://github.com/yumetodo/BuildContainers/issues/1
そういえば書いてなかった、進捗だめです。結局最新のalpineで古いコンパイラを一度コンパイルする苦行をするしかなさそうという結論。
負荷的にDockerHubとか各種CIサービスじゃなくてまともなマシンで手元でビルドしないと日が暮れそうで、手を出していない。
今のところCIはgcc4.9.2ビルドの実装のみで非常にお粗末ですね……。 (しかもcmake未使用)
msvc・clangは手元の環境、またgcc・clangはwandboxで手動の検証は行なっていますが、原始的すぎるためCIを応用的に使用していきたいです。 (が、CIの学習まで手が回っていません……)
いきなりいろんな環境やるんじゃなくてとりあえずalpineのapk配ってくれてるバージョンでコンパイルするCIは組んでいいかもしれない。
結局最新のalpineで古いコンパイラを一度コンパイルする
という苦行に取り組みかけましたが、よく考えたらlibstdc++が衝突するか、最新のlibstdc++を使うように頑張ることになり、多分gcc4系は最新のalpineに入らない気がしてきた。
・・・いやまてよ、/usr
じゃなくて/usr/local
に入れるようにすればいいのか・・・?!?
https://github.com/alpinelinux/abuild/blob/ec96c604e95993bdfce378cf6494325d653adb29/abuild.in#L717
Packages must not put anything under /srv, /usr/local or /opt
だめじゃん。
つまりパッケージにはしないで直接dockerコンテナに含めなければ・・・