-
Notifications
You must be signed in to change notification settings - Fork 163
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のcppcheckとdoxygenインストールをchocolateyで行うように #702
appveyorのcppcheckとdoxygenインストールをchocolateyで行うように #702
Conversation
appveyor のアカウントはお持ちでしょうか? 簡単にセットアップできるので、PR を投げる前に自分の fork に対する appveyor の 今回の PR の場合、appveyor でしかテストできない修正なので |
設定してみました。次回以降appveyor絡みは自分のほうで通ってからPR投げますね |
確認ですが、このPRの目的ってなんでしょうか? 読み取った内容を以下列挙しますので、誤りや足りない部分があれば補足をお願いします。
なんとなく、cppcheckインストールに関するログが増えた気がしてます。 |
4254b21
to
7f7fb02
Compare
doxygenのインストール処理がないのでappveyorにデフォで入るようになったのかと思い込んでました・・・ @berryzplus |
doxygenのchocolateyパッケージが死んでる・・・ |
なんでcppcheck単独なのか謎に思ってました。
インストーラをリポジトリに取り込む選択をした背景には、ダウンロード失敗によるトラブルを回避する意図もあったらしいです・・・ 技術的にできるかどうか分かりませんが、本家が落ちている場合の代替取得元を用意しておくことで失敗率を下げることができる気がします。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
削り残しみっけたのでコメント入れました。
削除対象のファイル名でgrepしておくと上げる前に安心できる気がします。
https://help.appveyor.com/discussions/problems/863-doxygen-installed-via-chocolatey-not-found に以下のコメントがあります。
これだとどうですか? |
今回はdoxygen.portableも同じくftp.stack.nlというダウンしてるサーバーからダウンロードしようとするのでだめです。 ローカルにchocolateyのパッケージを置いておくか、mygetなどで独自にホスティングするということも考えられますができれば避けたい・・・ |
appveyor に doxygen と cppcheck をプリインストールしてもらうのが、簡単でいいのですが。 |
doxygenの公式サイトが異様に遅かったのですが、キャッシュするようにしたので大丈夫だと思います。c:\choco\に設定するとうまくキャッシュできるのが確認できました。 https://ci.appveyor.com/project/KageShiron/sakura/builds/21214003?fullLog=true#L117 |
キャッシュが効いている状態で PR のリビルドかけてみた。 |
master のビルド → 36分 |
なんとなくリビルド欠けてみたんですが・・・ 2回目 2h48m なんか遅くなる要素あるんでしたっけ? 90分遅延として6環境で割ると、15分ずつ延びてる計算になるのかな。 |
ログの時間を見ればよいでしょう。行番号のところにマウスカーソルを合わせると時間が出ます。
この2行の間で20分以上掛かっています。キャッシュが効いてなさそうですね。 |
リビルドだとかからないんじゃないでしょうか 🤔 #702 (comment) なのでリビルドではなく追加でコミットによるビルドではキャッシュが効くはずですが、、、 |
これ以上 doxygen の公式サーバーの負荷を上げないためにも、この PR は適用しない方がいい気がします。 |
chocoからのインストールは諦めて、SourceForge (https://sourceforge.net/projects/doxygen/files/rel-1.8.14/) からダウンロードしてインストールするとか、AppVeyorにプリインストールをお願いしてみるとか…。 |
プルリクエストに対してデフォルトではキャッシュが無効に設定されているようです。PR ブランチは不特定の他人のコードだからとかそういう理由かと想像していますが。 この PR の適用を諦めるのには同意。doxygen の実行を AppVeyor のビルドマトリクスから除きたいのもたしか。 |
選択肢としてはざっくりこんなもんでしょうか?
|
|
Sourceforgeだと解決策にならないかもという懸念… |
お手軽さのchocolatey 対 ダウンロード時間不要&安定ビルドの現状 というのが一つなので、SourceForgeから落としてきて展開するのはメリットが薄いんですよね。 |
doxygen.install 1.8.15 がレビュー待ち状態になっていました。SourceForge.netからのダウンロードに変更されており、手元で試したところ問題のない速度(十数秒程度)になっていました。 個人的に他のマージの前提issueになってるので、早めに解決したいのですがどうしましょうか?
私としては、doxygen→CIではビルドしないように。cppcheck→chocolatey経由。を提案します。 ただ、私個人はまだC++の方に手をつけられていないので、doxygenを活用されている方の意見を重視したいです。 |
単にインストール方法が変わるだけなので、他の PR には影響はないんじゃないかと思っていますが、 |
この PR は #653 (comment) と #653 (comment) インストールを chocolatey 経由でやると、時間がかかる問題が発生したから 面倒ですが、ちょっとずつ段階を経って、やればいいんじゃないかと思います。 2つ以上の変更を一つの PR でやろうとすると 1つでも問題があった場合に chocolatey 経由でやるというPR と install セクションでインストールするというPRを #681 に関してはタイムスタンプは維持してほしいとは思っていますが、 |
元々はChocolateyでつまづくのが想定外だったのでPR分けませんでした・・・ 現状では遅い問題が解決してるので、以下のように変更しても問題はありません。これで全員がOKだと思うなら、別途わけるまでもなくすぐに適用可能です。
一方で、複雑なPRになりそうだとか、もう少し話し合いたいとかであれば以下のような感じでPRを別途出そうと思ってました。
ということで、皆さんの方針確認だけしたかったのです。
こちらは、新たな方針で作り直そうとしています。 その際にzip.batに手をつける可能性があって、同時並行で作業を進めるとコンフリクトで二度手間三度手間で時間を浪費しそうな予感がしています。ということで、緊急でもないので順次書いていくかと思ってます。 |
問題が発生した時点で、PR をわけたらどうですか? と提案すればよかったのかもしれません。
Chocolatey に関して現時点で見つかっていない問題が マージ後に見つかった場合とかに また 別 PR にすることで https://github.com/sakura-editor/changelog-sakura に別項目として |
これは昨日のログです>https://ci.appveyor.com/project/ds14050/sakura-clone/builds/21337460 http://doxygen.nl/files/doxygen-1.8.14-setup.exe からのダウンロードに 23 (分/Job) かかっています。現在はどういう状況なのでしょうか。 追記 バージョンが 1.8.14 と 1.8.15 と違いました。この PR の条件ではまだ遅いということなのでしょう。 キャッシュが効かないとき、ダウンロードサーバーが遅いとき、悪条件が重なった場合とはいえ、合計で3時間以上かかるのはつらすぎます。
これは自分も考えました。install-*.bat は AppVeyor でしか仕事をしないのでバッチファイルの中身を appveyor.yml に直書きするつもりでしたが。 |
補足しておくと、対応するのに時間がかからないものならば、 もちろん、作業にすごく時間がかかるものならば、無駄にならないように |
#742 でこちらのPRのメリットが薄れたと思うので、一旦取り下げます。他にメリットなどがあればまた新たに話し合いましょう。 |
関連: #653
cppcheckとdoxygenをappveyor.ymlのinstallセクションで行います。
また、cppcheckを1.86にアップデートしました。