Skip to content

chore: remove Android driver sentinel and checkAndroidApksFresh task#3295

Open
Fishbowler wants to merge 2 commits into
improve-drivers-in-cifrom
cleanup-driver-sentinel
Open

chore: remove Android driver sentinel and checkAndroidApksFresh task#3295
Fishbowler wants to merge 2 commits into
improve-drivers-in-cifrom
cleanup-driver-sentinel

Conversation

@Fishbowler

Copy link
Copy Markdown
Contributor

Stacked on #3294.

What

Removes the maestro-android-source.sha256 sentinel file, the checkAndroidApksFresh Gradle task in maestro-client, and the updateMaestroAndroidSourceSentinel Gradle task in maestro-android.

Why

These were introduced together to enforce the old "contributors must commit fresh driver APKs" contract:

  • updateMaestroAndroidSourceSentinel (in maestro-android) wrote a sha256 hash of Android source files alongside the committed APKs whenever copyMaestroAndroid/copyMaestroServer ran
  • checkAndroidApksFresh (in maestro-client) read that sentinel on every processResources run and failed the build if the source hash no longer matched — catching stale committed APKs before they could propagate

Now that update-drivers.yaml (#3294) builds and commits fresh drivers automatically on every merge to main, that contract no longer exists. The sentinel has no consumer, and checkAndroidApksFresh wired to processResources actively creates friction: any contributor who changes Android source will get a build failure until they run the full APK build — exactly the manual step we just automated away.

Changes

  • maestro-client/build.gradle.kts — remove checkAndroidApksFresh task, its processResources dependency, and the unused MessageDigest import
  • maestro-android/build.gradle.kts — remove updateMaestroAndroidSourceSentinel task, its finalizedBy hooks on copyMaestroAndroid/copyMaestroServer, and the unused MessageDigest import
  • maestro-client/src/main/resources/maestro-android-source.sha256 — deleted
  • .github/workflows/update-drivers.yaml — remove sentinel path from push triggers, changes filter, and git add

🤖 Generated with Claude Code

Fishbowler and others added 2 commits May 15, 2026 17:30
Replace the "Check Drivers Up-to-Date" PR gate with an "Update Drivers"
workflow that builds and commits fresh drivers automatically after every
merge to main that touches driver source or committed artefacts.

update-drivers.yaml (replaces check-drivers.yaml):
- Triggers on push to main with path filters covering both source and
  artefact files; if wrong artefacts land on main via any route (e.g. a
  contributor with a different local toolchain), CI rebuilds and overwrites
  them with canonical versions
- Builds Android and iOS drivers and commits the artefacts back with
  [skip ci] to prevent re-triggering
- Concurrency group with cancel-in-progress: false serialises runs so no
  update is lost if two merges land close together
- workflow_dispatch rebuilds everything unconditionally
- changes job short-circuits on workflow_dispatch to avoid running
  paths-filter unnecessarily; downstream jobs stay simple with no
  always() gymnastics

test-e2e.yaml:
- Add explicit "Build Android drivers" and "Build iOS drivers" steps
  (renamed from "Build xctest-runner") so E2E runs always exercise
  freshly-built local drivers

Note: maestro-client's checkAndroidApksFresh Gradle task and the
maestro-android-source.sha256 sentinel file are now vestigial — they
enforced the old "contributors must commit fresh APKs" contract that CI
now handles automatically. Cleanup is a follow-up PR.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The sentinel (maestro-android-source.sha256) and the checkAndroidApksFresh
Gradle task were introduced to enforce that contributors committed fresh
driver APKs alongside source changes. Now that update-drivers.yaml builds
and commits drivers automatically on every merge to main, neither is needed.

- Remove checkAndroidApksFresh task and its processResources dependency
  from maestro-client/build.gradle.kts
- Remove updateMaestroAndroidSourceSentinel task and its finalizedBy hooks
  from maestro-android/build.gradle.kts
- Delete maestro-client/src/main/resources/maestro-android-source.sha256
- Remove sentinel path from update-drivers.yaml triggers, filter, and
  git add

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

2 participants