Continuous Integration
Every pull request (and every push to a main branch) runs the same quality gate: install → lint → format check → type-check → test. If it’s red, it doesn’t merge.
Here it is as a Bitbucket Pipeline; the exact same steps map cleanly to GitHub Actions or any CI:
image: node:20
pipelines:
pull-requests:
"**":
- step:
name: lint-typecheck-test
script:
- corepack enable
- pnpm install --frozen-lockfile
- pnpm run lint
- pnpm run format:check
- npx tsc --noEmit
- pnpm test
branches:
"{main,dev}":
- step:
name: lint-typecheck-test
script:
- corepack enable
- pnpm install --frozen-lockfile
- pnpm run lint
- pnpm run format:check
- npx tsc --noEmit
- pnpm test
This gate checks quality; it doesn’t build the app. You can wire EAS build/submit into CI when you have cloud build credits — otherwise builds are produced locally, which is exactly what Build & Distribution covers next.