feat(schematic): eeschema WASM build + e2e harness

This commit is contained in:
Gergő Törcsvári 2026-05-29 06:39:23 +02:00
commit 730147d690
No known key found for this signature in database
GPG key ID: 8E75F2CDE64E5322
19 changed files with 3945 additions and 414 deletions

View file

@ -9,15 +9,35 @@ FEATURE_DIR="features/${BRANCH}"
mkdir -p "$FEATURE_DIR"
# Root repo patch (exclude submodules)
git diff HEAD -- ':!kicad' ':!wxwidgets' > "$FEATURE_DIR/root.patch"
# Root repo patch (exclude submodules and features/ — the latter would cause
# the patch to contain itself recursively).
git diff HEAD -- ':!kicad' ':!wxwidgets' ':!features' > "$FEATURE_DIR/root.patch"
# Submodule patches (diff from upstream base)
KICAD_BASE=$(git -C kicad log --format='%H' --author-not='viktor.vaczi@emergence-engineering.com' --author-not='noreply@anthropic.com' -1)
git -C kicad diff $KICAD_BASE > "$FEATURE_DIR/kicad.patch"
# Submodule patches: diff against main's recorded submodule sha so the patch
# captures only this feature branch's submodule work (committed + uncommitted),
# never upstream changes that landed on main.
sub_diff() {
local sub="$1"
local out="$2"
local main_sha
main_sha=$(git ls-tree origin/main "$sub" 2>/dev/null | awk '{print $3}')
if [ -z "$main_sha" ]; then
echo "Warning: could not resolve origin/main:$sub — skipping $out" >&2
rm -f "$out"
return
fi
local cur_sha
cur_sha=$(git -C "$sub" rev-parse HEAD)
if [ "$main_sha" = "$cur_sha" ] && git -C "$sub" diff --quiet; then
echo "No feature-specific $sub changes (submodule pointer matches main, worktree clean) — skipping $(basename "$out")"
rm -f "$out"
return
fi
git -C "$sub" diff "$main_sha" > "$out"
}
WX_BASE="v3.2.6"
git -C wxwidgets diff $WX_BASE > "$FEATURE_DIR/wxwidgets.patch"
sub_diff kicad "$FEATURE_DIR/kicad.patch"
sub_diff wxwidgets "$FEATURE_DIR/wxwidgets.patch"
echo "Patches created in $FEATURE_DIR/"
ls -la "$FEATURE_DIR"/*.patch 2>/dev/null || echo "No patches generated"