misskey icon indicating copy to clipboard operation
misskey copied to clipboard

Docker: Better Cross Build

Open rinsuki opened this issue 2 years ago • 2 comments

What

  • yarn build をネイティブnodeで実行する (エミュレートしているターゲット先バイナリではなく)
  • 上に加えて yarn install のキャッシュを一旦ネイティブで作ってからエミュレート先に渡すことでひょっとするとその分も早くなるかも
  • おまけとしてどのビルドでも

Why

CPUエミュレーションが遅すぎるのでネイティブバイナリで行うところを増やして早くしたい

Close #8279

Additional info (optional)

Build AMD64 images on M1 Max (ARM64) w/ Docker for Mac 4.6.1 (76265, giving 8 CPUs and 8GB RAMs to VM):

  • docker build --platform linux/amd64 . -f Dockerfile: 669s
  • docker build --platform linux/amd64 . -f Dockerfile.cross: 200s
  • 3.3x faster 🚀

(it might be unfair due to some caches)

on GitHub Actions:

  • Dockerfile: 40m
  • Dockerfile.cross: 18m
  • 2.2x faster 🚀

rinsuki avatar Apr 15 '22 15:04 rinsuki

https://github.com/yarnpkg/yarn/issues/2221 とかに書いてあるテクニックを使えばyarn installを高速化できるかも?

tamaina avatar Dec 25 '22 07:12 tamaina

コンフリクトしているからcloseしようとしたけどpnpmでもそんな変わらないか?

(うーん、Dockerfile周りがだんだん手に負えなくなってきてしまっている感ない…?)

tamaina avatar Jan 16 '23 18:01 tamaina

Closed by #9920

tamaina avatar Feb 14 '23 05:02 tamaina