Skip to content

ci: run a Windows Android smoke e2e on every pull request, share setup as composite actions - #899

Merged
janicduplessis merged 5 commits into
mainfrom
@janic/windows-smoke-e2e
Sep 19, 2026
Merged

janicduplessis merged 5 commits into
mainfrom
@janic/windows-smoke-e2e

Conversation

@janicduplessis

Copy link
Copy Markdown
Collaborator

Closes #898.

A per-pull-request Windows smoke. test/e2e/native/run-native-e2e.mjs gains --smoke: fixture, one worktree, stim start, a cold Gradle build, install, launch, readiness, stim stop, stim worktree remove and the cleanup checks. It stops before the second-worktree cache proof and the named-slots phase, so it is about 22 minutes on windows-latest against 47 for the full loop, and it still exercises the paths the unit suite fakes: gradlew.bat through cross-spawn, Metro listener discovery through netstat, the emulator and adb, and the taskkill tree kill on stop.

The Windows Android job becomes a suite matrix. android smoke (windows) runs on every push to main and every pull request, blocking, with the driver step as its gate. android loop (windows) is added on workflow_dispatch or a pull request from a windows-named branch, unchanged in content: its driver step keeps continue-on-error and the APK assertion stays its gate until #892 and #893 land. Same fromJSON selection e2e-native.yml already uses for its suites.

Composite actions. The pnpm/Node/install/build steps were copy-pasted six times across ci.yml, e2e-native.yml and windows-debug.yml; they move to .github/actions/setup-stim (inputs node, install, build). The Windows JDK 17, capability record and system-image install move to .github/actions/windows-android-sdk, shared by the CI lane and the debug host. The test job keeps its explicit build step after lint and format so the fail-early order is unchanged; runtime-floor keeps its pinned Node pair and is untouched.

docs/e2e-and-ci.md lists the smoke suite, the Windows lanes, the debug workflow and the actions.

Verification: this PR's own run exercises setup-stim on Ubuntu and Windows and windows-android-sdk on the Windows lane, and its branch name contains windows, so both android smoke (windows) and android loop (windows) are scheduled.

…p as composite actions

run-native-e2e.mjs gains --smoke: fixture, one worktree, stim start, a cold
build, install, launch, readiness, stim stop, worktree remove and the cleanup
checks, stopping before the second-worktree cache proof and named slots.

The Windows Android job becomes a suite matrix: smoke on every push and pull
request, blocking; loop added on workflow_dispatch or a windows-named pull
request, as before. The pnpm/Node/install/build steps repeated across ci.yml,
e2e-native.yml and windows-debug.yml move to .github/actions/setup-stim, and
the Windows JDK plus system image steps to .github/actions/windows-android-sdk.
janicduplessis added a commit that referenced this pull request Sep 19, 2026
Fourth multi-process claim test to hit the Windows rename delete-pending
limbo: a racer child exits non-zero with empty stdout, so the JSON parse in
the test fails. Seen on the blocking test (windows) lane of #899.
janicduplessis added a commit that referenced this pull request Sep 19, 2026
…#883) (#903)

* test: skip the device-lease race test on win32 (#883)

Fourth multi-process claim test to hit the Windows rename delete-pending
limbo: a racer child exits non-zero with empty stdout, so the JSON parse in
the test fails. Seen on the blocking test (windows) lane of #899.

* test: skip the concurrent config record test on win32 (#883)

Fifth of the family, seen on the test (windows) lane of #900.
@janicduplessis
janicduplessis marked this pull request as ready for review September 19, 2026 23:13
@janicduplessis
janicduplessis merged commit 0390ec1 into main Sep 19, 2026
8 checks passed
@janicduplessis
janicduplessis deleted the @janic/windows-smoke-e2e branch September 19, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run a focused Windows Android smoke e2e on every pull request

1 participant