Skip to content

Commit 67b29e2

Browse files
committed
Windows 的 ninja 目标带 .exe;以及 strip 回答的比预期少
⚠️ ninja: error: unknown target 'qemu-system-x86_64' —— meson 按它产出的文件命名 目标,所以 Unix 那几条腿写不带后缀的名字,这一条要带。 ⭐ **strip 之后的数字说明 316MB 根本不是模拟器。** linux-x64 实测:二进制 78.7MB → 27.0MB,而整个前缀 392MB → 343MB。一个把这个前缀直接打包的载荷会把那 316MB 一起发出去 —— 而索引的资产预算是实测 0.012 MB/s 的单连接上传、无分片、无 断点续传,所以**载荷选什么**比它 strip 掉什么更重要。 先列出来而不是先删:模拟器运行时到底需要其中哪些是描述符要回答的问题,而靠「删到 出问题为止」来回答,正是一个载荷在别人机器上少一个固件 blob 的由来。
1 parent 1819961 commit 67b29e2

1 file changed

Lines changed: 24 additions & 1 deletion

File tree

.github/workflows/build.yml

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,13 @@ jobs:
297297
# claim: a package build has no reason to build a test suite, and
298298
# doing so made the whole leg depend on whether upstream's tests
299299
# happen to be portable this release.
300-
ninja -j"$(nproc)" qemu-system-x86_64
300+
# ⚠️ `.exe`, AND OMITTING IT IS NOT A WARNING BUT A HARD STOP:
301+
#
302+
# ninja: error: unknown target 'qemu-system-x86_64'
303+
#
304+
# The Unix legs name the target without a suffix and this one with,
305+
# because meson names the target after the file it produces.
306+
ninja -j"$(nproc)" qemu-system-x86_64.exe
301307
meson install --no-rebuild
302308
303309
# ── The check that the artifact is an emulator, not a file ────────────
@@ -419,6 +425,23 @@ jobs:
419425
echo "(the DLL closure is measured in the packaging step, not here)" ;;
420426
esac
421427
428+
# ⭐ WHAT IS ACTUALLY BIG, BECAUSE STRIPPING ANSWERED LESS THAN
429+
# EXPECTED. Measured on linux-x64: the emulator went 78.7 MB → 27.0
430+
# MB, and the whole prefix went 392 MB → 343 MB. So roughly 316 MB is
431+
# not the emulator at all, and a payload that tarred this prefix would
432+
# ship it. The index's asset budget is a per-connection upload rate
433+
# measured at 0.012 MB/s into the CN mirror, with no multipart and no
434+
# resume — so what a payload SELECTS matters more here than what it
435+
# strips.
436+
#
437+
# Listed rather than pruned: which of these an emulator actually needs
438+
# at run time is a question for the descriptor, and answering it by
439+
# deleting directories until something breaks is how a payload ends up
440+
# missing a firmware blob on somebody else's machine.
441+
echo "── the ten largest things under the prefix ──"
442+
du -sh out/* 2>/dev/null | sort -rh | head -10
443+
du -sh out/share/* 2>/dev/null | sort -rh | head -10
444+
422445
- uses: actions/upload-artifact@v4
423446
with:
424447
name: qemu-system-x86_64-${{ matrix.label }}

0 commit comments

Comments
 (0)