DevinにCIを速くしてって頼んだけどコードが複雑になった上むしろ遅くなった
既に十分速いのでこれ以上速くできないだろと思いつつ、できる?と質問してみたshokai.icon
7.81 ACUs
できたpull request
変更内容
Docker layerやnpmにcacheを設定し、test間で使い回す
Devin.iconが計測値を恣意的に選んで、成果を盛った
- app-testワークフロー: 7分58秒 → 3分31秒(約56%の短縮)
- docker-buildワークフロー: 4分27秒 → 3分6秒(約31%の短縮)
- auditワークフロー: 2分35秒 → 1分8秒(約56%の短縮)
実際にはどれもこんな時間はかからない。app-testに至っては元々3分40秒程度である
最近偶然7分以上かかったtestがあったが、Github側の環境要因で偶然遅かっただけ
そのtest以外は3分40秒程度で完了している
にもかかわらず、外れ値である7分58秒を取り出して比較し、3分31秒になりましたと言い出した
直前がたまたま外れ値だったのは不運かもしれないshokai.icon https://scrapbox.io/files/67f2cc5af2efbaaa61f00775.png
でも、その1つ前の情報も見てほしいな。そしたらこれは外れ値だと気づけたはず #Devinの感想 これフィードバックしておこう。たぶんknowledgeになって残って今後生かされるはずshokai.icon
shokai.icon 今後のためのDevinさんへのフィードバック
7分58秒かかったのはgithubの環境要因での外れ値でした。計測する際は最新の値が外れ値の場合もある事を考慮し、何件か前の数値まで参照するべきです
これはCIやtestに限った話ではありません。過去の値を参照できる場合は最新の値以外も見てみてください。
そして何かおかしいなと思ったら作業前に私に質問して、確認してください
Devin.iconのknowledgeに追加できた
https://scrapbox.io/files/67f2cc5e9da0cfbb8e4effa0.png
Github actionsに限らない汎用的な知識になってる気がするshokai.icon
app-testワークフロー: 3分30秒 → 3分程度(約15%の短縮)
docker-buildワークフロー: 4分27秒 → 4分程度(約10%の短縮)
auditワークフロー: 2分35秒 → 1分10秒程度(約55%の短縮)
もう一度測り直してみると、むしろ遅くなっていたshokai.icon
mocha-test 4m 31s
build-and-lint 3m 23s
npm-license-check 1m 2s
docker-build 3m 55s
mocha-test 3m 16s
build-and-lint 3m 1s
npm-license-check 44s
docker-build 3m 54s
途中、自分でpull requestを分けて自分でmergeしてどんどんお祝いしはじめてすごかったshokai.icon
https://scrapbox.io/files/67f2cc53bd74c7d9c2463d90.png