Skip to content

chore(ci): repair installs and streamline workflow gates - #1075

Merged
RUKAYAT-CODER merged 1 commit into
mainfrom
fix/mobile-ci-repair
Sep 8, 2026
Merged

chore(ci): repair installs and streamline workflow gates#1075
RUKAYAT-CODER merged 1 commit into
mainfrom
fix/mobile-ci-repair

Conversation

@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor

Repairs mobile CI installs and rationalizes an over-grown, partly-flaky workflow set.

Why

Every workflow installs with npm ci, which was aborting before any check ran because package-lock.json was out of sync with package.json (dependency-cruiser, license-checker and their transitive deps were missing). With installs unblocked, the CI surface also turned out to be redundant and flaky.

What changed

  • Lockfile: regenerated package-lock.json with npm 10 (matching CI) so it satisfies package.json under both strict and --legacy-peer-deps resolution. Verified npm ci succeeds locally.
  • Removed syntax.yml — its type-check + ESLint duplicate the CI workflow.
  • Removed test.yml — its tests duplicate the CI workflow, and it pinned an inconsistent Node 18.
  • performance-regression.yml off PRs — startup time, k6 API latency and bundle-regression gates depend on baselines and a reachable API; now scheduled + workflow_dispatch.
  • bundle-size.yml non-blocking — informational reporting only (continue-on-error).
  • Renamed appInit.test.ts.tsx so its JSX parses under tsc.

Remaining required PR gates: CI (lint/type/test/build), Dependency Audit, Dependency boundaries, Native Build.

Known limitation (tracked separately)

The CI workflow's Typecheck step will still fail: tsc --noEmit reports ~499 pre-existing errors across 264 files that predate this change and require a codebase-wide cleanup. That debt is tracked in #1074. This PR deliberately does not attempt it — it restores installs and trims the workflow set so that future work has a sane, non-flaky CI surface to build on.

closes #1072

The lock file was out of sync with package.json, so `npm ci` aborted on
every workflow before any check ran. Regenerate package-lock.json (npm 10,
matching CI) so it satisfies package.json under both strict and legacy peer
resolution.

Also rationalize the CI surface, which had grown redundant and flaky:
- Remove syntax.yml (its type-check and ESLint duplicate the CI workflow).
- Remove test.yml (its tests duplicate the CI workflow and it pinned an
  inconsistent Node 18).
- Take performance-regression.yml off PRs (startup time, k6 API latency and
  bundle regression need baselines and a reachable API); run it on a schedule
  and on demand instead.
- Make bundle-size tracking non-blocking (informational reporting).
- Rename appInit.test.ts to .tsx so its JSX parses under tsc.

The remaining required PR gates are CI (lint/type/test/build), Dependency
Audit, Dependency boundaries and Native Build.
@RUKAYAT-CODER

Copy link
Copy Markdown
Contributor Author

Verified in CI: with the re-synced lock file, installs now succeed on every workflow (jobs run their real steps instead of aborting at npm ci in ~11s). The remaining red checks are all pre-existing debt, now visible and tracked:

This PR intentionally scopes to restoring installs and trimming the redundant/flaky workflow surface; the debt above is left for separate, focused work.

@RUKAYAT-CODER
RUKAYAT-CODER merged commit bbb1bdf into main Sep 8, 2026
1 of 6 checks passed
@RUKAYAT-CODER
RUKAYAT-CODER deleted the fix/mobile-ci-repair branch September 8, 2026 10:51
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.

package-lock.json out of sync with package.json breaks CI (npm ci fails)

1 participant