You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: documents/planning/release-plan-eas.md
+29-22Lines changed: 29 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,11 +8,12 @@
8
8
## Current Baseline
9
9
10
10
- First public Android release is manual.
11
-
-App version: `1.0.0`.
11
+
-Current mobile version source is `apps/mobile/package.json` (currently `1.1.40`).
12
12
- EAS project ID: `a29a7662-96be-4509-a79e-fbe4b5dac1ff`.
13
13
- Build profile for stores: `production` in `apps/mobile/eas.json` (`autoIncrement: true`).
14
-
- Runtime policy: `runtimeVersion` is tied to app version in `apps/mobile/app.json`.
14
+
- Runtime policy: `version` and `runtimeVersion` are derived in `apps/mobile/app.config.ts` from `apps/mobile/package.json`.
15
15
- GitHub workflow path for builds is self-hosted macOS (`.github/workflows/eas-build.yml`).
16
+
- Store submit job runs automatically only when `apps/mobile/package.json` semver is greater than the latest `vX.Y.Z` tag.
16
17
17
18
---
18
19
@@ -40,15 +41,15 @@
40
41
-`GOOGLE_MAPS_ANDROID_API_KEY`: Google Cloud -> `APIs & Services -> Credentials -> API key` (restrict to Android app package/SHA-1 and Maps SDK for Android API).
41
42
-`APPSTORE_ISSUER_ID` / `APPSTORE_API_KEY_ID` / `APPSTORE_API_PRIVATE_KEY`: App Store Connect -> `Users and Access -> Integrations -> App Store Connect API` (Team API key; paste full `.p8` contents for private key).
42
43
-`GOOGLE_PLAY_SERVICE_ACCOUNT_JSON`: Play Console -> `Setup -> API access` (link GCP project/service account) + Google Cloud service account JSON key.
43
-
- Detailed acquisition steps for every secret are documented in `documents/self-hosted-macos-runner.md` under `## 5. Repo secrets needed`.
44
+
- Detailed acquisition steps for every secret are documented in `documents/planning/self-hosted-macos-runner.md` under `## 5. Repo secrets needed`.
- You do not create this token manually. GitHub injects it automatically for every workflow run.
46
47
- In workflows it is available as `${{ secrets.GITHUB_TOKEN }}` (or `github.token` context).
47
48
- If release creation fails with permission errors, check: `Settings -> Actions -> General -> Workflow permissions` and allow write access for the repository/organization policy.
48
49
- Only use a PAT secret if org policy prevents write-capable `GITHUB_TOKEN`.
-Run `.github/workflows/eas-build.yml` with `submit: true` and `platform: ios|android|all`.
107
+
-Push release commit to `main` (or run `workflow_dispatch`) after version bump.
102
108
- The submit job uploads:
103
109
- iOS `.ipa` to App Store Connect via `apple-actions/upload-testflight-build@v3`
104
110
- Android `.aab` to Google Play via `r0adkll/upload-google-play@v1`
105
-
- The same job also creates a GitHub Release `vX.Y.Z` and attaches generated artifacts (`ios.ipa`, `android.aab` for selected platform).
111
+
- Wear OS `.aab` to Google Play internal track (non-blocking; pipeline continues if this upload fails)
112
+
- The same job also creates a GitHub Release `vX.Y.Z` and attaches generated artifacts (`ios.ipa`, phone `android.aab` + `android.apk`, wear `wear.aab` + `wear.apk`).
106
113
107
114
Option B: manual direct upload from local machine
108
115
- iOS: upload `.ipa` with Transporter or `xcrun altool`.
Copy file name to clipboardExpand all lines: documents/planning/tech-debt.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -84,7 +84,7 @@ These are not implemented yet and would add net-new capability.
84
84
|---|---|---|---|---|
85
85
| IMP-01 | High | Mobile module size concentration | Large files remain: `TimerScreen.tsx` (1523), `EclipsePreviewScreen.tsx` (884), `appState.tsx` (716), `RootNavigator.tsx` (623), `NotificationSettingsScreen.tsx` (582), `useTimerState.ts` (525) | Split by feature slices (compute adapter, map overlays, alarm controls, preview renderer, state reducers/selectors) |
86
86
| IMP-02 | High | Notifications API usage |`apps/mobile/src/services/notifications.ts` imports from `expo-notifications/build/*` internals | Move to public `expo-notifications` exports to reduce SDK break risk |
87
-
| IMP-03 | High | Native/app version consistency |`apps/mobile/android/app/build.gradle` hardcodes `versionCode 3`, `versionName "1.0.0"` while app package is `1.1.29`| Unify version source and remove conflicting hardcoded native values |
87
+
| IMP-03 | High | Native/app version consistency |`apps/mobile/android/app/build.gradle` hardcodes `versionCode 3`, `versionName "1.0.0"` while app package is `1.1.40`| Unify version source and remove conflicting hardcoded native values |
88
88
| IMP-04 | High | Observability configuration | Sentry values remain placeholders across app/native config (`App.tsx`, `app.json`, `android/sentry.properties`) | Move to env/secret-driven config with startup/build validation and docs |
89
89
90
90
### 3.2 Data contracts and engine correctness
@@ -122,7 +122,7 @@ These are not implemented yet and would add net-new capability.
122
122
| ID | Priority | Area | Current state | Improvement |
123
123
|---|---|---|---|---|
124
124
| IMP-20 | High | Documentation command drift | Multiple docs still instruct non-existent root scripts (`pnpm dev`, `pnpm build`, `pnpm test:watch`, `pnpm clean`) and these commands fail when executed | Update docs to current script surface and add docs command validation check |
125
-
| IMP-21 | Medium | Documentation path drift | Plain-text references still point to moved paths (for example root `README.md` references `documents/self-hosted-macos-runner.md`; release plan references old store docs paths) | Update stale paths to `documents/planning/*` and `documents/reference/*`|
125
+
| IMP-21 | Medium | Documentation path drift | Plain-text references still point to moved paths (for example root `README.md` references `documents/self-hosted-macos-runner.md`) | Update stale paths to `documents/planning/*` and `documents/reference/*`|
126
126
| IMP-22 | Medium | Duplicate config sources | Root `app.json`/`eas.json` and `apps/mobile` config diverge (including bundle ID/CLI profile details) | Define single source of truth and deprecate duplicates |
127
127
| IMP-23 | Medium | Changelog source-of-truth drift | Both root `CHANGELOG.md` and `documents/reference/CHANGELOG.md` exist with divergent content/version history | Consolidate to one authoritative changelog location and update cross-links |
128
128
| IMP-24 | Low | Environment/tooling enforcement |`packageManager` is pinned, but no strict `engines`/Corepack enforcement gate | Add `engines` and optional install-time guard script |
0 commit comments