[groonga-dev,02974] Re: GroongaのWindows向けCIについて

Back to archive index

Kouhei Sutou kou****@clear*****
2014年 11月 25日 (火) 14:28:04 JST


須藤です。

In <CAKHk****@mail*****>
  "[groonga-dev,02970] GroongaのWindows向けCIについて" on Mon, 24 Nov 2014 16:05:11 +0900,
  hiroshi hatake <cosmo****@gmail*****> wrote:

> GroongaのWindows向けのCIをどうするかの相談です。
...
> ですが、Groongaのみであれば、おそらく大丈夫だろうと思い挑戦してみました。ひとまずビルドが完走したので報告です。
> Mroongaの時と同じくAppVeyorを使っています。

おぉ!AppVeyorというサービスを使えば、Windows環境でGroongaの
ビルドチェックをできるのですね!これはとても助かりますね!

> 9回目の挑戦でビルドのみは完走しました!
> (パッケージングはmingw-w64環境で出来るのでいいかな、という感じです。)

はい、パッケージのビルドは必要ないです。
Visual C++でのビルドだとRroongaのビルドに使えないので使い勝
手がよくないんですよね。。。

> 以下が設定です。
> .travis.ymlのような感じで書けば大丈夫そうです。癖は有りますが…。
> https://github.com/cosmo0920/groonga/compare/appveyor

version.shはCMakeLists.txtの中でどうにかしたいところです
ね。。。

diff --git a/CMakeLists.txt b/CMakeLists.txt
index b8fd4cb..c904fe0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -25,7 +25,7 @@ if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/version.sh")
   file(READ "${CMAKE_CURRENT_SOURCE_DIR}/version.sh" GRN_VERSION)
 else()
   if(NOT EXISTS "${CMAKE_CURRENT_BINARY_DIR}/version.sh")
-    if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
+    if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git" AND EXISTS "/bin/sh")
       execute_process(COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/version-gen.sh")
       file(READ "${CMAKE_CURRENT_BINARY_DIR}/version.sh" GRN_VERSION)
     else()

とすればいけるかしら。

> 以下そのジョブの結果です:
> https://ci.appveyor.com/project/cosmo0920/groonga/build/1.0.9

warningも見れていい感じですね。

> ただ、AppVeyorのビルドキューが捌けるのがかなり遅いので、Groongaのmasterにマージしちゃうのは少し悩ましい所です。。

結果が見れるようになるまで時間差があるってことですよね?
それは別にいいと思います。それよりも、どのリビジョンでビルド
できなくなったかわかることのメリットが大きいと思います。

これ、Groonga本体で利用するにはどうしたらよいのでしょうか?


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/>

Groongaベースの全文検索システムを総合サポート:
  http://groonga.org/ja/support/
パッチ採用 - プログラミングが楽しい人向けの採用プロセス:
  http://www.clear-code.com/recruitment/
名著『リーダブルコード』を解説者と一緒に読み解こう:
  http://schoo.jp/class/1502




groonga-dev メーリングリストの案内
Back to archive index