QVAC-16473 infra: add suite filtering and PR-triggered e2e test workflows for SDK#1653
Merged
Conversation
- Add workflow_call trigger + suite/exclude-suite inputs to test-sdk.yml - Thread suite/exclude-suite through desktop, android, and iOS reusable workflows - Create on-pr-test-sdk.yml for label-based and release-branch triggers - Add suite choice dropdown (full/smoke/custom) for manual dispatch
Contributor
Tier-based Approval Status |
Remove git fetch/diff of PR head refs that triggered "checkout of untrusted code in trusted context" alert. Use sparse checkout (only authorize-pr action) and rely on the trigger-level paths filter for SDK change detection on release branch PRs.
… capture Replace inline logcat consumption with background capture to a persistent log file, matching the iOS pymobiledevice3 pattern. Adds full unfiltered logcat dump and React Native log extraction in post_test.
c20b078 to
2e76a4e
Compare
The STOPPING state can take 10+ minutes on Device Farm. Previous 5-min wait (30x10s) was insufficient, resulting in empty artifact downloads. Now waits up to 30 min (120x15s) and merges stop+wait+download into a single step. Applied to both iOS and Android cleanup jobs.
simon-iribarren
approved these changes
Apr 20, 2026
simon-iribarren
approved these changes
Apr 20, 2026
opaninakuffo
approved these changes
Apr 21, 2026
NamelsKing
approved these changes
Apr 21, 2026
Contributor
Author
|
/review |
Victor-Rodzko
approved these changes
Apr 22, 2026
Contributor
Author
|
/review |
Proletter
pushed a commit
that referenced
this pull request
May 24, 2026
…lows for SDK (#1653) * infra: add suite filtering and PR-triggered e2e test workflows for SDK - Add workflow_call trigger + suite/exclude-suite inputs to test-sdk.yml - Thread suite/exclude-suite through desktop, android, and iOS reusable workflows - Create on-pr-test-sdk.yml for label-based and release-branch triggers - Add suite choice dropdown (full/smoke/custom) for manual dispatch * infra: add Device Farm artifact download and upload to Android SDK test workflow * infra: fix CodeQL alert in on-pr-test-sdk.yml Remove git fetch/diff of PR head refs that triggered "checkout of untrusted code in trusted context" alert. Use sparse checkout (only authorize-pr action) and rely on the trigger-level paths filter for SDK change detection on release branch PRs. * infra: improve Android Device Farm logging with continuous background capture Replace inline logcat consumption with background capture to a persistent log file, matching the iOS pymobiledevice3 pattern. Adds full unfiltered logcat dump and React Native log extraction in post_test. * infra: increase Device Farm cleanup wait to 30 min for artifact download The STOPPING state can take 10+ minutes on Device Farm. Previous 5-min wait (30x10s) was insufficient, resulting in empty artifact downloads. Now waits up to 30 min (120x15s) and merges stop+wait+download into a single step. Applied to both iOS and Android cleanup jobs. * fix: fix security issue caused by allowing out-of-date labeled prs
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.
🎯 What problem does this PR solve?
test-sdk.yml) could only be triggered manually with no suite filtering, no automated PR triggers, and no label-based control📝 How does it solve it?
Suite filtering (
test-sdk.yml+ reusable workflows)suitechoice input to manual dispatch:full(default, no--suiteflag),smoke(--suite smoke),custom(uses companionsuite-customstring input)exclude-suitestring input for excluding tagged suites (e.g.slow,flaky)resolvejob maps the choice+custom pair to a plain string, then passes it through to all three reusable workflows (test-desktop-sdk.yml,test-android-sdk.yml,test-ios-sdk.yml)--suite/--exclude-suiteflags to theqvac-test run:producercommandworkflow_callsupport (test-sdk.yml)workflow_calltrigger with matching inputs (string types, same defaults) so other workflows can call it programmaticallyworkflow_dispatch(choice → string) andworkflow_call(string passthrough)PR trigger workflow (
on-pr-test-sdk.yml)test-e2e-smokeruns smoke suite on all platforms;test-e2e-fullruns full suiterelease-*withpackages/sdk/changes automatically run full suiteauthorize-prcomposite action withsafe-to-testlabel gate for external fork PRse2e-testedlabel to the PR when all tests passpull_request_targetfor secrets access (Device Farm, MQTT)packages/sdk/**gatesopened/synchronizeevents;labeledevents bypass path filter per GitHub behaviorAndroid Device Farm log uploads
test-android-sdk.ymlcleanup job, mirroring the existing iOS implementationdevice-farm-logs-android-*with 30-day retentionOther changes
targetschanged fromdesktoptoalldesktop-platformsdefault to usemac-mini-m4-gpu(aligned with upstream rename)🧪 How was it tested?
test-sdk.ymlmanual dispatch can be tested on this branch with all suite/exclude-suite/filter combinationson-pr-test-sdk.ymlusespull_request_target, which loads the workflow from the base branch — label triggers and release-branch auto-triggers can only be tested after merge tomain. Post-merge verification:test-e2e-smokelabel, verify smoke suite runs on all platformstest-e2e-fulllabel, verify full suite runse2e-testedlabel is applied on successrelease-*branch with SDK changes, verify auto-triggerdevice-farm-logs-android-*artifact