Adds support for building wasm#315
Conversation
✅ Deploy Preview for yarn-v6 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
# Conflicts: # Cargo.lock # Cargo.toml
⏱️ Benchmark Resultsgatsby install-full-cold
📊 Raw benchmark data (gatsby install-full-cold)Base times: 4.404s, 4.348s, 4.436s, 4.451s, 4.367s, 4.503s, 4.388s, 4.322s, 4.471s, 4.483s, 4.430s, 4.504s, 4.412s, 4.470s, 4.397s, 4.458s, 4.449s, 4.436s, 4.445s, 4.458s, 4.431s, 4.422s, 4.338s, 4.422s, 4.416s, 4.447s, 4.441s, 4.438s, 4.439s, 4.418s Head times: 4.469s, 4.443s, 4.450s, 4.493s, 4.477s, 4.401s, 4.449s, 4.473s, 4.427s, 4.387s, 4.491s, 4.484s, 4.551s, 4.422s, 4.523s, 4.499s, 4.482s, 4.490s, 4.477s, 4.513s, 4.406s, 4.472s, 4.451s, 4.475s, 4.357s, 4.479s, 4.410s, 4.474s, 4.533s, 4.555s gatsby install-cache-only
📊 Raw benchmark data (gatsby install-cache-only)Base times: 1.288s, 1.278s, 1.281s, 1.282s, 1.301s, 1.297s, 1.290s, 1.296s, 1.302s, 1.277s, 1.297s, 1.304s, 1.282s, 1.302s, 1.311s, 1.301s, 1.304s, 1.300s, 1.293s, 1.319s, 1.295s, 1.287s, 1.483s, 1.304s, 1.310s, 1.276s, 1.302s, 1.291s, 1.295s, 1.279s Head times: 1.288s, 1.292s, 1.282s, 1.280s, 1.287s, 1.291s, 1.271s, 1.292s, 1.294s, 1.288s, 1.282s, 1.301s, 1.290s, 1.329s, 1.314s, 1.303s, 1.904s, 1.307s, 1.301s, 1.298s, 1.272s, 1.280s, 1.288s, 1.316s, 1.281s, 1.303s, 1.298s, 1.298s, 1.293s, 1.297s gatsby install-cache-and-lock (warm, with lockfile)
📊 Raw benchmark data (gatsby install-cache-and-lock (warm, with lockfile))Base times: 0.347s, 0.352s, 0.351s, 0.353s, 0.354s, 0.352s, 0.355s, 0.361s, 0.355s, 0.356s, 0.353s, 0.353s, 0.353s, 0.355s, 0.360s, 0.367s, 0.362s, 0.359s, 0.364s, 0.361s, 0.357s, 0.363s, 0.365s, 0.370s, 0.367s, 0.370s, 0.370s, 0.364s, 0.366s, 0.368s Head times: 0.358s, 0.355s, 0.364s, 0.358s, 0.350s, 0.841s, 0.354s, 0.348s, 0.360s, 0.349s, 0.351s, 0.350s, 0.355s, 0.352s, 0.354s, 0.356s, 0.359s, 0.366s, 0.361s, 0.347s, 0.353s, 0.353s, 0.354s, 0.354s, 0.361s, 0.357s, 0.361s, 0.361s, 0.356s, 0.354s |
Splitting the build part out of #309
Note
Medium Risk
Changes how all platforms select TLS (rustls vs native) and adds a new CI toolchain path; PEM client certs are unsupported on Browserpod, which could surprise users of that target.
Overview
Adds
wasm32-browserpod-linux-muslto the build matrix and extends the composite build action to install the Browserpod Rust toolchain (default 2.10.0), pin libc from the Browserpod sysroot, buildyarn-binwith that toolchain, and publishyarn-bin.wasminstead of native binaries for that target.HTTP/TLS is split by target: native builds keep rustls via explicit
reqwestfeatures anduse_rustls_tls(); Browserpod (wasm64+browserpodvendor) usesdefault-tlsand skips rustls-only APIs—PEM client identity (httpsCertFilePath/httpsKeyFilePath) returns a clear error on Browserpod. Workspacereqwestno longer enables TLS at the root;dialoguerdrops default features (password only).Cpu::Wasm64is registered for platform reporting, andcargo::rustc-check-cfgfortarget_vendor = "browserpod"is added inzpm/zpm-switchbuild scripts.Reviewed by Cursor Bugbot for commit 41230f1. Bugbot is set up for automated code reviews on this repo. Configure here.