Skip to content

Commit 33d262b

Browse files
Fix Android EAS setup and clarify release verification (#7430)
* Validate exported mobile release paths Document the physical-path check that prevents invalid EAS project directories on macOS. * Clarify Linux package publication checks Distinguish live APT deployment and repository Arch metadata from an AUR release. * Install libclang for Android EAS builds Provide the host library required by SQLite bindgen before compiling the Android native bridge on EAS Linux builders.
1 parent 4ac2914 commit 33d262b

2 files changed

Lines changed: 16 additions & 3 deletions

File tree

.agents/skills/release-new-version/SKILL.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,9 +212,12 @@ GitHub against the provenance manifest.
212212

213213
The publish workflow calls `desktop_store_publish.yaml` with
214214
`submit_to_stores=true` for Microsoft Store certification. Inspect that job and
215-
the resulting submission separately from GitHub/CrabNebula publication. Also
216-
follow the generated Linux package update through its package-publication jobs;
217-
creating its PR is not package publication.
215+
the resulting submission separately from GitHub/CrabNebula publication. Merge
216+
the generated Linux package metadata PR and verify the signed APT index is live
217+
on `anarlog.so`. Check whether Netlify deployed that commit automatically before
218+
dispatching `web_cd.yaml`. Arch `PKGBUILD` and `.SRCINFO` updates ship in this
219+
repository; there is no AUR publication workflow. Check the AUR registry before
220+
claiming an AUR release. Creating the metadata PR alone is not publication.
218221

219222
## Mobile Store Distribution
220223

@@ -278,6 +281,12 @@ hook must generate the native bridge before packaging. EAS builds use the
278281
candidate's committed CloudSync bundle; a separate CI rebuild alone does not
279282
prove which bytes are embedded in a signed store artifact.
280283

284+
For an exported source tree, resolve both `EAS_PROJECT_ROOT` and `apps/mobile`
285+
to their physical paths before invoking EAS. Confirm their relative path is
286+
exactly `apps/mobile`. On macOS, mixing `/tmp` with its physical `/private/tmp`
287+
path produces an invalid project directory in the remote build job. Check the
288+
job's `projectRootDirectory` before accepting a build.
289+
281290
```bash
282291
APP_VARIANT=stable eas build --platform ios --profile stable --non-interactive --no-wait
283292
APP_VARIANT=stable eas build --platform android --profile stable --non-interactive --no-wait

apps/mobile/scripts/eas-build-post-install.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ if ! command -v rustup >/dev/null 2>&1; then
1717
fi
1818

1919
if [[ $EAS_BUILD_PLATFORM == android ]]; then
20+
if [[ $(uname -s) == Linux ]]; then
21+
sudo apt-get -o Acquire::Retries=5 update
22+
sudo apt-get -o Acquire::Retries=5 install -y --no-install-recommends libclang-dev
23+
fi
2024
rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android
2125
export ANDROID_NDK_HOME="${ANDROID_NDK_HOME:-${ANDROID_NDK_ROOT:-${ANDROID_HOME:-${ANDROID_SDK_ROOT:?Android SDK is required}}/ndk/27.1.12297006}}"
2226
test -f "$ANDROID_NDK_HOME/source.properties"

0 commit comments

Comments
 (0)