Reproducible builds
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 45/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- javascript, rust, wasm
- 領域
- build-system
調査の方向性
報告されている npm run bundle および npm run build コマンドで問題を再現し、繰り返し行った componentize-js の実行間で sha256sum dist/bundle.js と dist/bundle.wasm を比較します。componentize-js のビルドパスと、疑われている JavaScript ランタイムのスナップショット動作を調査します。完了の条件は、ビルド間で wasm 出力のチェックサムが同一になること、または文書化された再現可能なビルドモードが特定されることです。
索引モデルが issue の本文から書いたものです。
説明
I have used ComponentizeJS in 3 different projects
I'm seeing with every project that the wasm file output is not reproducible from one build to the next
For example: https://github.com/rhodey/lock.host-wasm-js
I have npm run bundle and npm run build
I run sha256sum dist/bundle.js and determine the same js bundle is being produced
I run sha256sum dist/bundle.wasm and determine the wasm file is different with every run of componentize-js
It is not hard to imagine that more than 1 thing would need to change to get reproducible builds
A first thought is I think from what I have read that ComponentizeJS is doing something like snapshot of the JS Runtime memory in order to get faster boots. And so that is suspicious as an area of non determinism.
I will much appreciate any help with achieving reproducible builds and if it can be achieved quicker by disabling some features and losing some speed it would be acceptable for my purposes
Thanks!!
- 主要言語
- Rust
- スター
- 392
- フォーク
- 54
- 平均マージ
- 2日 18時間
- マージ済み PR(30日)
- 3
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
bytecodealliance/ComponentizeJS のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 56/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 52/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
bytecodealliance/ComponentizeJS#335 · コメント 3 件 ·
bytecodealliance/ComponentizeJS の issue をすべて見る
似ている issue
-
todo:perf
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
-
ACP agents get no MCP servers when the thread is created before the project's first worktree loads オープンstate:needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
zed-industries/zed#64611 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
ontola/atomic-server#1625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
objectionary/phie#154 ·