diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 56709fc..3ac5a57 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -74,13 +74,22 @@ jobs: - name: Performance smoke (PLAN.md §11 budgets) working-directory: examples/todo - # Shared CI runners legitimately need 4-6s for AppImage extract + - # xvfb + Qt init + Symfony bootstrap; keep the budget at 10s (5x - # the strict 2s baseline) so we still catch order-of-magnitude - # regressions. Bundle-size and idle-memory budgets stay strict. + # CI runner overrides — strict bare-metal numbers stay in + # perfsmoke.sh defaults for `make perf` runs. + # + # Cold start: shared runners legitimately need 4-6s for AppImage + # extract + xvfb + Qt init + Symfony bootstrap. 10s = 5x baseline. + # + # Idle memory: Qt under xvfb falls back to Mesa llvmpipe (no GPU); + # llvmpipe + LLVM 20 libs add ~30-50 MB per process, and perfsmoke + # sums VmRSS across host + children (double-counts shared pages). + # 600 MB = 3x baseline; still catches order-of-magnitude regressions. + # + # Bundle-size budget stays strict (environment-independent). env: PERF_COLD_START_MS: '10000' PERF_HEALTHZ_DEADLINE_MS: '15000' + PERF_IDLE_MEM_MB: '600' run: ./tests/perfsmoke.sh build/Todo-x86_64.AppImage - name: Generate zsync metadata