Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Build mobile — environment variables
# Copy to .env.local for local overrides (never commit .env.local)

# API endpoints (defaults to production; override for local dev)
EXPO_PUBLIC_API_URL=https://build.interactor.com
EXPO_PUBLIC_ACCOUNT_SERVER_URL=https://auth.interactor.com

# EAS CI token — set in GitHub Actions secrets, never commit
# EXPO_ACCESS_TOKEN=eas_...
40 changes: 40 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: CI

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
lint-typecheck:
name: Lint & Typecheck
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- run: npm run lint
- run: npm run typecheck

eas-build-preview:
name: EAS Build (preview)
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
needs: lint-typecheck
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
- run: npm ci
- uses: expo/expo-github-action@v8
with:
eas-version: latest
token: ${{ secrets.EXPO_ACCESS_TOKEN }}
- name: Build preview (iOS + Android)
run: eas build --platform all --profile preview --non-interactive --no-wait
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ yarn-error.*
.env.local
.env*.local

# EAS credentials (never commit)
.eas/service-account.json
EXPO_ACCESS_TOKEN

# typescript
*.tsbuildinfo

Expand Down
7 changes: 7 additions & 0 deletions app.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"expo": {
"name": "Build",
"slug": "product-manager-mobile",
"owner": "interactor",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
Expand Down Expand Up @@ -43,6 +44,12 @@
],
"experiments": {
"typedRoutes": true
},
"extra": {
"router": {},
"eas": {
"projectId": "88a146cc-a2b2-48f2-aeea-314c745d4e5a"
}
}
}
}
46 changes: 46 additions & 0 deletions eas.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"cli": {
"version": ">= 16.0.0",
"appVersionSource": "local"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal",
"ios": {
"simulator": false
},
"env": {
"EXPO_PUBLIC_API_URL": "https://build.interactor.com",
"EXPO_PUBLIC_ACCOUNT_SERVER_URL": "https://auth.interactor.com"
}
},
"preview": {
"distribution": "internal",
"env": {
"EXPO_PUBLIC_API_URL": "https://build.interactor.com",
"EXPO_PUBLIC_ACCOUNT_SERVER_URL": "https://auth.interactor.com"
}
},
"production": {
"autoIncrement": true,
"env": {
"EXPO_PUBLIC_API_URL": "https://build.interactor.com",
"EXPO_PUBLIC_ACCOUNT_SERVER_URL": "https://auth.interactor.com"
}
}
},
"submit": {
"production": {
"ios": {
"appleId": "peter@interactor.com",
"ascAppId": "",
"appleTeamId": ""
},
"android": {
"serviceAccountKeyPath": ".eas/service-account.json",
"track": "internal"
}
}
}
}
Loading