chore: remove Android driver sentinel and checkAndroidApksFresh task#3295
Open
Fishbowler wants to merge 2 commits into
Open
chore: remove Android driver sentinel and checkAndroidApksFresh task#3295Fishbowler wants to merge 2 commits into
Fishbowler wants to merge 2 commits into
Conversation
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>
amanjeetsingh150
approved these changes
May 19, 2026
40cc0e0 to
38b9b05
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #3294.
What
Removes the
maestro-android-source.sha256sentinel file, thecheckAndroidApksFreshGradle task inmaestro-client, and theupdateMaestroAndroidSourceSentinelGradle task inmaestro-android.Why
These were introduced together to enforce the old "contributors must commit fresh driver APKs" contract:
updateMaestroAndroidSourceSentinel(inmaestro-android) wrote a sha256 hash of Android source files alongside the committed APKs whenevercopyMaestroAndroid/copyMaestroServerrancheckAndroidApksFresh(inmaestro-client) read that sentinel on everyprocessResourcesrun and failed the build if the source hash no longer matched — catching stale committed APKs before they could propagateNow that
update-drivers.yaml(#3294) builds and commits fresh drivers automatically on every merge tomain, that contract no longer exists. The sentinel has no consumer, andcheckAndroidApksFreshwired toprocessResourcesactively 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— removecheckAndroidApksFreshtask, itsprocessResourcesdependency, and the unusedMessageDigestimportmaestro-android/build.gradle.kts— removeupdateMaestroAndroidSourceSentineltask, itsfinalizedByhooks oncopyMaestroAndroid/copyMaestroServer, and the unusedMessageDigestimportmaestro-client/src/main/resources/maestro-android-source.sha256— deleted.github/workflows/update-drivers.yaml— remove sentinel path from push triggers,changesfilter, andgit add🤖 Generated with Claude Code