-
Notifications
You must be signed in to change notification settings - Fork 171
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
clone_depthを指定する #963
clone_depthを指定する #963
Conversation
✅ Build sakura 1.0.2047 completed (commit a9396fa0eb by @berryzplus) |
この件は Azure Pipelines 向け案件かなぁ・・・。 |
再起動中に止まる問題。clone の失敗の問題は発生していない。 |
リビルドかけた。 |
❌ Build sakura 1.0.2056 failed (commit 50e18f6624 by @berryzplus) |
❌ Build sakura 1.0.2057 failed (commit 50e18f6624 by @berryzplus) |
❌ Build sakura 1.0.2062 failed (commit 5a6bffec7b by @berryzplus) |
✅ Build sakura 1.0.2084 completed (commit a9b9d01b48 by @berryzplus) |
#971 マージ後リビルドかけて成功 |
…allow_clone clone_depthを指定する
PR の目的
apveyorのgit cloneで取得する履歴の深さを制限して、git clone が失敗する問題を抑止します。
カテゴリ
PR の背景
#954 で appveyor のシステムロケールを変更する処理を復活させようとしています。
システムロケールの変更をやめた理由は2つあります。
再起動に時間がかかる問題については、
#962 で提案しているように、再起動対象の環境を絞り込めば軽減できる気がします。
git cloneがたまにコケる問題についても何か手を打ちたいと考えています。
この問題については、原因が分かっているわけではありません。
状況的なことから「日本語化していることが失敗の原因」と考えるのは正しい気がします。
まぁ、「弁護士を呼んでください!」な雰囲気ですけどね。
日本語化以外に、git cloneがコケる原因になることってないんだっけ?
fetch対象の物量によっては「非常に低い確率を踏む」ことがあるのかも知れません。
サクラエディタのコードベースは全部で12万行くらいで、決して大きいとは言えません。
履歴の量も5,000コミットに満たない程度なので、歴史は浅い方だと思います。
まー、その辺りの「現実」はサラッとスルーすることにして、
I/O操作の絶対量が多いとコケる可能性もあるんじゃないか?
と考えるなら、gitの機能を使って対策を打てるように思います。
gitには fetch 時に取得するリポジトリの履歴の深さを指定する機能があります。
5,000件の履歴すべてを取得するのと、最新1件の履歴を取得するのとでは、I/Oの絶対量が違います。
コケる原因がコレであるならば、深さ指定によってコケる確率を下げられるように思います。
PR のメリット
PR のデメリット (トレードオフとかあれば)
PR の影響範囲
関連チケット
#962 help構築用にplatform定義を追加する
#650 [WIP] AppVeyor のビルドキャッシュを利用してビルド時間を削減(※およそ5分)できるようなオプションを用意します。
参考資料
https://pocke.hatenablog.com/entry/2018/12/19/015644
https://qiita.com/sonots/items/ce08c30d161ea0b4d5fd
https://www.appveyor.com/docs/how-to/repository-shallow-clone/