Initial commit: Expo + Expo Router starter with CI/CD #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Template Setup | |
| on: | |
| push: | |
| branches: [main] | |
| jobs: | |
| setup: | |
| if: github.event.created || github.run_number == 1 | |
| runs-on: ubuntu-latest | |
| permissions: | |
| issues: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Check if template | |
| id: check | |
| run: | | |
| if [ -f "app.json" ]; then | |
| NAME=$(node -e "console.log(JSON.parse(require('fs').readFileSync('app.json','utf8')).expo.name)") | |
| if [ "$NAME" = "My App" ]; then | |
| echo "is_template=true" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "is_template=false" >> "$GITHUB_OUTPUT" | |
| fi | |
| fi | |
| - name: Create setup checklist | |
| if: steps.check.outputs.is_template == 'true' | |
| env: | |
| GH_TOKEN: ${{ github.token }} | |
| run: | | |
| gh issue create \ | |
| --title "Setup: Configure your app" \ | |
| --body "$(cat <<'EOF' | |
| Welcome! You've created a new project from **react-native-starter**. Here's your setup checklist: | |
| ## Required | |
| - [ ] Update `app.json` — change `name`, `slug`, `ios.bundleIdentifier`, `android.package` | |
| - [ ] Replace images in `assets/` — `icon.png` (1024x1024), `splash.png` (1284x2778), `adaptive-icon.png` (1024x1024) | |
| - [ ] Create an Expo account and project — see [docs/EXPO_SETUP.md](docs/EXPO_SETUP.md) | |
| ## CI/CD Setup | |
| - [ ] Add GitHub Secret: `EXPO_TOKEN` — see [docs/EXPO_SETUP.md](docs/EXPO_SETUP.md) | |
| - [ ] **iOS:** Set up Apple Developer account + App Store Connect — see [docs/APP_STORE_SETUP.md](docs/APP_STORE_SETUP.md) | |
| - [ ] **iOS:** Update `eas.json` submit config (`appleId`, `ascAppId`, `appleTeamId`) | |
| - [ ] **Android:** Set up Google Play Console + service account — see [docs/PLAY_STORE_SETUP.md](docs/PLAY_STORE_SETUP.md) | |
| - [ ] **Android:** Add `play-store-key.json` to your project root (gitignored) | |
| ## Recommended | |
| - [ ] Run `eas credentials` to set up signing certificates | |
| - [ ] Do a manual first upload to both stores before using CD | |
| - [ ] Write tests in `tests/` and run with `npm test` | |
| - [ ] Delete this issue when done | |
| Happy building! | |
| EOF | |
| )" |