Skip to content

ci: install Expo deps in-app for Expo react-native jobs#1976

Draft
gewenyu99 wants to merge 2 commits into
mainfrom
posthog-code/ci-expo-runner
Draft

ci: install Expo deps in-app for Expo react-native jobs#1976
gewenyu99 wants to merge 2 commits into
mainfrom
posthog-code/ci-expo-runner

Conversation

@gewenyu99

@gewenyu99 gewenyu99 commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a conditional step to the wizard-ci matrix job that installs the Expo app's own dependencies (npm ci) — but only for react-native/expo jobs. This brings in the local Expo CLI the wizard shells out to, so the Expo environment is available on the standard ubuntu-latest runner. No special/self-hosted runner needed.

The condition contains(matrix.app, 'react-native/expo') matches the expo-react-native-hacker-news app and leaves the bare react-native-saas app (and everything else) untouched.

Why

The expo-react-native-hacker-news job was failing in CI because Expo wasn't installed. Root cause: each matrix entry runs on its own fresh runner, and the Expo apps live outside the root pnpm workspace (empty pnpm-workspace.yaml, no workspaces field), so pnpm install --frozen-lockfile never installs the Expo app's deps — including its local expo package. Installing them in-app for just those jobs fixes it without provisioning a dedicated runner.


Created with PostHog Code from a Slack thread

Expo apps fail in CI because the GitHub-hosted runners don't ship the Expo environment. Mirror the swift -> macos-latest routing and send react-native/expo apps to a self-hosted runner labeled `expo`.

Generated-By: PostHog Code
Task-Id: 625c99d1-c95d-4741-a75c-88a1e64f4462
…unner

Each matrix entry runs on its own fresh runner, and the Expo apps live outside the pnpm workspace, so their dependencies (including the local Expo CLI the wizard shells out to) are never installed. Rather than route to a dedicated runner, add a conditional `npm ci` step gated to react-native/expo jobs so the Expo environment is present on the standard ubuntu runner. Reverts the earlier runs-on routing.

Generated-By: PostHog Code
Task-Id: 625c99d1-c95d-4741-a75c-88a1e64f4462
@gewenyu99 gewenyu99 changed the title ci: route Expo react-native jobs to a dedicated expo runner ci: install Expo deps in-app for Expo react-native jobs Jun 18, 2026
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