Skip to content

ci: comment out the iOS native job - #32

Merged
amritk merged 1 commit into
mainfrom
claude/ios-ci-performance-mpf4q1
Aug 5, 2026
Merged

ci: comment out the iOS native job#32
amritk merged 1 commit into
mainfrom
claude/ios-ci-performance-mpf4q1

Conversation

@amritk

@amritk amritk commented Aug 5, 2026

Copy link
Copy Markdown
Owner

Four pod lib lint invocations ran sequentially on a macOS runner and took
81 minutes a run — against 2m17s for the Android equivalent and 50s for the
JavaScript checks. The cost is not our code: the four pods are ~2,600 lines
of Objective-C between them, but each lint builds an eight-target graph
dominated by the Lynx engine and PrimJS, in its own throwaway sandbox, so
that compile happened four times per run.

Nothing compiles the Objective-C now. native-contract.test.ts still pins
the native method surfaces against the TypeScript, so a renamed or dropped
method is still caught, but a syntax error or a missing header will reach a
published tarball — so the docs that claimed CI covered this now say to run
pod lib lint by hand on a Mac.

The job is left commented out rather than deleted, alongside the two fixes
worth making before re-enabling it: gate it on the iOS sources changing, and
collapse the four lints into one Podfile so Lynx compiles once.

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

📦 Bundle-size delta vs main (5ce0ea4ed05078)

Package Entry main PR Δ
mini core (.) 3,156 B 3,156 B +0 B (+0.0%) ⚪
mini flow 4,083 B 4,083 B +0 B (+0.0%) ⚪
mini router 4,259 B 4,259 B +0 B (+0.0%) ⚪
mini forms 4,259 B 4,259 B +0 B (+0.0%) ⚪
mini query 1,988 B 1,988 B +0 B (+0.0%) ⚪
mini-lynx core (.) 5,605 B 5,605 B +0 B (+0.0%) ⚪
mini-lynx flow 4,981 B 4,981 B +0 B (+0.0%) ⚪
mini-lynx router 6,130 B 6,130 B +0 B (+0.0%) ⚪
mini-lynx forms 5,400 B 5,400 B +0 B (+0.0%) ⚪
mini-lynx query 1,990 B 1,990 B +0 B (+0.0%) ⚪
mini-lynx testing 2,464 B 2,464 B +0 B (+0.0%) ⚪

Gzipped bytes of each bundled entry (esbuild, minified, browser/es2022, optional peer deps external). Bundling is deterministic, so unlike a timed benchmark these numbers carry no noise and every Δ is exact. ⚪ within ±0.5% · 🟢 smaller · 🔴 larger. Each package's core (.) must stay flat as subpath features land — that is the whole charter, and src/core-size-budget.test.ts holds the absolute ceiling.

Four `pod lib lint` invocations ran sequentially on a macOS runner and took
81 minutes a run — against 2m17s for the Android equivalent and 50s for the
JavaScript checks. The cost is not our code: the four pods are ~2,600 lines
of Objective-C between them, but each lint builds an eight-target graph
dominated by the Lynx engine and PrimJS, in its own throwaway sandbox, so
that compile happened four times per run.

Nothing compiles the Objective-C now. `native-contract.test.ts` still pins
the native method surfaces against the TypeScript, so a renamed or dropped
method is still caught, but a syntax error or a missing header will reach a
published tarball — so the docs that claimed CI covered this now say to run
`pod lib lint` by hand on a Mac.

The job is left commented out rather than deleted, alongside the two fixes
worth making before re-enabling it: gate it on the iOS sources changing, and
collapse the four lints into one Podfile so Lynx compiles once.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@amritk
amritk merged commit 5ce0ea4 into main Aug 5, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants