with one click
cordova-scenario-runner
// Run or triage AppsFlyer Cordova E2E/smoke via ./scripts/af-scenario-runner.sh, sibling E2E copy, smoke dir, and JSON reports. Use for local reproduction, CI log triage, or report summaries.
// Run or triage AppsFlyer Cordova E2E/smoke via ./scripts/af-scenario-runner.sh, sibling E2E copy, smoke dir, and JSON reports. Use for local reproduction, CI log triage, or report summaries.
Maps the AppsFlyer Cordova RC pipeline (RC prep, lint-test-build, E2E, npm publish, rc-smoke, promote) to workflow files in this repo. Use when editing rc-release, rc-smoke, promote-release, or lint-test-build; not for day-to-day feature work.
Maps AppsFlyer Cordova CI (android/ios E2E workflows, ENV_FILE, sibling copy, smoke scripts) to the tooling smoke/E2E story. Use when editing .github/workflows/*e2e*, rc-smoke (when added), or debugging scenario CI.
Build or review test-app/ for AppsFlyer Cordova against the tooling test-app contract: .env, [AF_QA] logs, auto-run SDK order, afqa-cordova deep links, iOS af_qa_logs.txt. Use when implementing Phase 3 or reviewing test-app PRs.
Performs a simple version-bump release of the AppsFlyer Cordova plugin (no public API changes). Use when the user wants to release a new Cordova plugin version that only updates SDK dependencies (Android, iOS) and plugin version.
| name | cordova-scenario-runner |
| description | Run or triage AppsFlyer Cordova E2E/smoke via ./scripts/af-scenario-runner.sh, sibling E2E copy, smoke dir, and JSON reports. Use for local reproduction, CI log triage, or report summaries. |
Use when:
.af-e2e/test-plan.json, .af-smoke/rc-test-plan.json, or build scripts used by the runner.test-app/ or sync scripts.| Piece | Location |
|---|---|
| Runner (vendored) | scripts/af-scenario-runner.sh (pin in scripts/TOOLING_PIN.txt) |
| E2E plan | .af-e2e/test-plan.json — build uses sibling ../<repo-basename>-e2e/ (default ../appsflyer-cordova-plugin-e2e/) via scripts/e2e-cordova-build.sh |
| Smoke plan | .af-smoke/rc-test-plan.json — paths under test-app_rc_smoke/ via scripts/smoke-cordova-build.sh |
Reference app (do not cordova build here with file:..) | test-app/ |
| Android CI scenario entry | scripts/ci-android-e2e-scenario.sh (single bash …/ci-android-e2e-scenario.sh line inside android-emulator-runner; see below) |
| Reports | .af-e2e/reports/, .af-smoke/reports/ |
adb devices shows device.xcrun simctl list devices booted)..env: for E2E, on the sibling copy (e.g. ../appsflyer-cordova-plugin-e2e/.env) — CI writes from ENV_FILE; sync-test-app-e2e-copy.sh protects .env on rsync.jq installed.Dry-run parse:
./scripts/af-scenario-runner.sh --platform android --plan .af-e2e/test-plan.json --dry-run
./scripts/af-scenario-runner.sh --platform ios --plan .af-e2e/test-plan.json --dry-run
Build + single phase (paths / install smoke):
./scripts/af-scenario-runner.sh --platform android --plan .af-e2e/test-plan.json --build --phase phase_1
./scripts/af-scenario-runner.sh --platform ios --plan .af-e2e/test-plan.json --build --phase phase_1
Smoke (after scripts/sync-test-app-rc-smoke.sh + local build):
./scripts/af-scenario-runner.sh --platform android --plan .af-smoke/rc-test-plan.json --build --phase phase_1
jq '.overall_status, .total_checks, .passed, .failed' .af-e2e/reports/latest.json
Failed checks:
jq -r '
.phases[]
| .phase_id as $pid
| .checks | to_entries[]
| select(.value.status != "PASS")
| "\($pid)/\(.key): \(.value.evidence)"
' .af-e2e/reports/latest.json
script: must be one linereactivecircus/android-emulator-runner runs each line of with: script: as a separate /usr/bin/sh -c invocation (on Ubuntu sh is dash). Multi-line if/fi in YAML breaks; set -o pipefail is invalid in dash. android-e2e.yml uses one line: bash "${GITHUB_WORKSPACE}/scripts/ci-android-e2e-scenario.sh" so bash-only options live in that script.
latest.json / phase JSON as “fixes”; fix the app, plan, or environment.DEV_KEY in summaries.appsflyer-mobile-plugin-tooling — contracts/e2e-test-contract.md, contracts/smoke-test-contract.md, docs/troubleshooting.md.See docs/SCENARIO_RUNNER_ADOPTION_WORKPLAN.md for phases (E2E CI, test-app contract, RC smoke).