Skip to content

Test @ms/ci coverage - 2#3

Closed
barhanc wants to merge 23 commits into
mainfrom
test-ci-coverage
Closed

Test @ms/ci coverage - 2#3
barhanc wants to merge 23 commits into
mainfrom
test-ci-coverage

Conversation

@barhanc
Copy link
Copy Markdown
Owner

@barhanc barhanc commented May 14, 2026

Description

Introduces a breaking change?

  • Yes
  • No

Type of change

  • Bug fix (change which fixes an issue)
  • New feature (change which adds functionality)
  • Documentation update (improves or adds clarity to existing documentation)
  • Other (chores, tests, code style improvements etc.)

Tested on

  • iOS
  • Android

Testing instructions

Screenshots

Related issues

Checklist

  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have updated the documentation accordingly
  • My changes generate no new warnings

Additional notes

msluszniak and others added 18 commits April 29, 2026 18:20
Replaces the LLM-only Android/iOS build workflows with one matrix-based
workflow per platform that gates each app's build on `dorny/paths-filter`.
Adds coverage for computer-vision, speech, text-embeddings, and bare-rn
demos, plus a Jest smoke test for bare-rn. Skips builds on draft PRs and
fires on ready_for_review so flipping a draft to ready triggers CI.

Closes software-mansion#963.
… hash

- bundle job now runs `yarn prepare` before bundling bare-rn so
  react-native-executorch-bare-resource-fetcher's lib/ exists for metro
  (Expo apps don't need it; expo export resolves workspace deps directly).
- iOS composite caches CocoaPods recipes + installed Pods keyed by Podfile.lock,
  saving ~3-5 min per cell on cache hits.
- compute-app-hash.js excludes .github/workflows/build-apps.yml from the
  content hash. Workflow edits still trigger the matrix, but each cell hits
  its existing marker and skips. Build-behavior workflow edits (with:,
  runs-on:, env:) need a manual cache clear via the UI.
Pull_request runs scope caches to refs/pull/N/merge, which gets dereferenced
when the PR is closed. Switch to a push-driven trigger so caches save against
refs/heads/<branch> and survive close/reopen.

- push: branches ['**'] covers every commit to every branch.
- pull_request: types narrowed to [opened, reopened, ready_for_review] —
  the events with no corresponding push.
- pull_request: synchronize removed (push already covers every commit).
- Workflow-level concurrency keyed by event_name + branch so push and
  pull_request runs don't cancel each other.
- Draft status resolved via `gh pr list` for push events, preserving the
  no-CI-on-drafts rule from software-mansion#963 even without a pull_request payload.
Two issues compounded into bare-rn rebuilding on a CV-only push:

1. dorny defaulted to comparing against the PR base, so each push re-evaluated
   the cumulative PR diff and pulled every app whose filter ever matched into
   the matrix. Setting `base: event.before || pull_request.base.sha` restricts
   the diff to just the current push (with PR-base fallback for opened /
   reopened / ready_for_review).

2. The Gradle (~3 GB) and CocoaPods (~500 MB × 5 iOS apps) caches saved during
   a single run, plus setup-java's redundant gradle cache, pushed the repo over
   GitHub's 10 GB cache quota and evicted the tiny (~250 B) build markers under
   LRU. Cells appeared in the matrix on subsequent pushes (legitimately, per
   PR-base diff) but missed the cache and rebuilt. Dropping these peer caches
   so markers survive — markers gate entire build cells, which is worth more
   than the 3-10 min those caches saved on warm-up.
@barhanc barhanc changed the title Test ci coverage Test @ms/ci coverage - 2 May 14, 2026
@barhanc barhanc marked this pull request as ready for review May 14, 2026 14:17
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