-
Notifications
You must be signed in to change notification settings - Fork 168
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
appveyor のビルドで削れるものがないか検討する #427
Comments
なんとなくのイメージです。
現状は Win32/x64 のみで、表の全部に○が付いてる状態だと思います。 |
https://ci.appveyor.com/project/sakuraeditor/sakura/build/1.0.755 のビルドで実行時間を調べた。
トータル 0:18:44 ↓ 以下はログファイル |
計算に使用した excel を添付 |
release 版の cppcheck と unit test を削れば 6 分くらいの節約になりますね。 |
cppcheck を appveyor でやるのをやめて travis CI でやるようにできれば、 5 分30秒ほど削れる。 |
create-project.bat は Release/Debug で実行しているが、一回でいいので、 |
create-project.bat で googletest を取得していますが、ユニットテストフレームワークを Catch2 に切り替えると色々と捗ると思います。 |
何がどう改善しますか? |
header-only で 単一ファイルにされたものも公開されているので、予め sakura のリポジトリに登録してしまえば https://github.com/catchorg/Catch2 の あと header-only なので GoogleTest のプロジェクトが生成されなかったりでトータルの実行時間が恐らく減るんじゃないでしょうか。 他には modern なのであまり色々なマクロを使い分けなくてもテストが自然な書き方で記述出来るというのは大きな利点だと思います。これはこのIssueでの議論の範疇外かもしれませんが…。 |
↑ 別チケットで上げていただけますか? |
単体テスト書いてみて分かったんですがGoogletestの組込は不完全っぽいです。本来使えるはずのvs連携機能が使えなかったのでデバッグが手間でした。 ヘッダは軽いので速度は速いと思いますがvs連携がなさそうなのが気になってます。まぁ、今と同じなんですが。 |
※ 単体テストのデバッグ方法の markdown を書こうと思います。 |
create-project.bat を呼ぶと visual studio のソリューションが |
#433 を作成しました。確認お願いします。 |
スタートアッププロジェクトの設定ですが、 https://stackoverflow.com/a/37994396/4699324 によると、CMake のバージョン 3.6 以降で指定出来るようです。 |
デバッグ実行は出来てます。Ctrl T D とか出来ませんでしたけど。本来はテストエクスプローラにテスト結果をリンク表示させる機能とかがあります。 |
Google test 用の vs プラグインをインストールしたら連携してくれた気がします。 |
デフォルトで入るはず。日本語バグってるけど。 |
単体テストのビルドが遅いが、googletest 自体のビルドをしないように #434 で https://github.com/catchorg/Catch2/blob/master/docs/cmake-integration.md#top を https://cmake.org/cmake/help/v3.10/module/FindGTest.html ビルド済みバイナリで以下の問題が発生しなれば、ビルド済みバイナリを |
時間かかる問題は何も変わってないはず |
すみません。誤操作です。 iPhone で自覚なくボタン押し間違ってたようです。 何かしら処置するまで継続の認識です。 |
これスルーされてる気がしますが https://ja.wikipedia.org/wiki/Travis_CI しかしpro版のほうにはこんな情報が公開されていて、普通にwindowsビルドできそうな気配とか。 azure pipelineを使う使わないの話は置いておいて、cppcheckやテストをappveyor以外の環境に退避させる方法も、検討の余地はある気がします。 |
豆知識。ローリングビルドというオプションでブランチ毎 PR 毎の最新コミットしかビルドしなくなる。古くなったコミットはビルド中でもキャンセルされる。 |
たまたまPRのタイミングが被ったら、ビルドが後勝ちになってしまう危険を感じました。 |
ブランチ毎 PR 毎なのでそれはないはず… |
そのオプションは認識していますが、あえて有効にはしていないです。 理由は、必要のなくなったビルドは appveyor 上で手動でキャンセルできるので、 |
#432 を検討し始めました。 |
という選択もありそうです。 現状でサクラエディタが対応しているビルド環境は vs2017 と MinGW64 ですが、
vs2017 は <?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.googletest.v140.windesktop.msvcstl.static.rt-static" version="1.8.0" targetFramework="native" />
</packages> MinGW64 はappveyorに記述を追加すればいけそう。 install:
- cmd: |
C:\msys64\usr\bin\bash --login -c "pacman -S --noconfirm mingw-w64-x86_64-gtest" |
appveyor で各種処理を実行するのをやめました。 #833 適用前 https://ci.appveyor.com/project/sakuraeditor/sakura/builds/23597175 → 48 min 57 sec 単体テストも azure pipelines に移すことはできるかもしれない |
に関しては #796 で検討中 |
#983 対応により、現在appveyorのビルドタスク数は5件になりました。 |
@KENCHjp
sakura-editor/management-forum#14 (comment)
@m-tmatma
sakura-editor/management-forum#14 (comment)
@KENCHjp
sakura-editor/management-forum#14 (comment)
The text was updated successfully, but these errors were encountered: