diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b08b3dbcf2..f61d514727 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -418,14 +418,6 @@ jobs: - name: Run app unit tests run: npm run test --workspace=@getpaseo/app - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: "21" - - - name: Run Android module tests - run: npm run test:android --workspace=@getpaseo/app - playwright-1: name: playwright (shard 1/8) needs: changes diff --git a/docs/android.md b/docs/android.md index 5a59eedaa4..546ba92a3e 100644 --- a/docs/android.md +++ b/docs/android.md @@ -98,7 +98,7 @@ The older `android`, `android:development`, and `ios` commands remain aliases fo `android:production` still builds and installs a release through Expo; use `build:apk` when you need an artifact. `android:clear` removes the generated Android project. -Run `npm run test:android --workspace=@getpaseo/app` to prebuild Android and run native module unit tests. The app CI job runs this command with the Android toolchain. +Run `npm run test:android --workspace=@getpaseo/app` explicitly with a local Android toolchain to prebuild Android and run native module unit tests. Ordinary CI does not prebuild Android or run these tests. ### Diagnostic logs without ADB diff --git a/scripts/ci-workflow.test.mjs b/scripts/ci-workflow.test.mjs index c7e631c529..37508cad7d 100644 --- a/scripts/ci-workflow.test.mjs +++ b/scripts/ci-workflow.test.mjs @@ -157,6 +157,14 @@ test("focused contracts stay inside existing required checks", () => { assert.ok(!jobs.has("playwright-desktop")); }); +test("ordinary CI keeps app tests without prebuilding Android modules", () => { + const source = readFileSync(ciWorkflowPath, "utf8"); + const app = jobBlocks(source).get("app-tests").join("\n"); + assert.match(app, /npm run build:app-deps/); + assert.match(app, /npm run test --workspace=@getpaseo\/app/); + assert.doesNotMatch(source, /test:android|expo prebuild|gradlew|actions\/setup-java/); +}); + test("server builds exclude test utilities at every domain depth", () => { const tsconfig = JSON.parse(readFileSync(serverTsconfigPath, "utf8")); assert.ok(tsconfig.exclude.includes("src/server/**/test-utils/**"));