Skip to content

ci(e2e): run the web, iOS, and Android e2e suites on GitHub Actions - #1

Merged
kacperkapusciak merged 2 commits into
mainfrom
ci/e2e-github-actions
Nov 11, 2026
Merged

kacperkapusciak merged 2 commits into
mainfrom
ci/e2e-github-actions

Conversation

@kacperkapusciak

@kacperkapusciak kacperkapusciak commented Nov 11, 2026 •

Copy link
Copy Markdown
Member
  • .github/workflows/e2e.yml runs the suite on every pull request and push to main, one job per target:
Job Runner Build Device
web ubuntu-latest none, the target starts Metro Chromium
ios macos-26 expo run:ios --configuration Release --device generic --no-bundler iPhone 17 Pro on iOS-26-5
android ubuntu-latest (KVM) expo prebuild + gradlew :app:assembleRelease API 36 emulator, pixel_7
  • ios/ and android/ are generated, so each mobile job prebuilds them. Release builds bundle their JS, so they don't depend on Metro.
  • The iOS runtime is pinned to 26.5, the version the replay cache was recorded on. The runner image already has a simulator named iPhone 17 Pro on its default runtime, so the job passes its own simulator's UDID to the ios target:
engine: mobile({ platform: 'ios', device: process.env.E2E_IOS_DEVICE || 'iPhone 17 Pro' }),
  • Mobile jobs run with --workers 1 (one device each). Each job uploads .e2e/ even when tests fail.
  • Reads one secret: AI_GATEWAY_API_KEY.

Verified

Ran it locally: no - CI-only change; the workflow runs on this PR.

View guided diff Turn on auto-fix

The iOS job builds a Release app, creates an iPhone 17 Pro simulator on the pinned iOS 26.5 runtime, and passes its UDID to the ios target through E2E_IOS_DEVICE.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 2 files

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name=".github/workflows/e2e.yml">

<violation number="1" location=".github/workflows/e2e.yml:38">
P2: Forked pull requests do not receive repository secrets, so each E2E job runs without model credentials and fails; provide a fork-safe authentication path or avoid running these checks for fork PRs.</violation>
</file>

Comment thread .github/workflows/e2e.yml Resolved
Forks get no repository secrets, so the agent steps would fail without AI_GATEWAY_API_KEY.
@kacperkapusciak
kacperkapusciak merged commit f675ea0 into main Nov 11, 2026
2 of 4 checks passed
@kacperkapusciak
kacperkapusciak deleted the ci/e2e-github-actions branch November 11, 2026 11: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.

1 participant