emulator-wtf/invoke

Invoke the ew-cli command to run Android instrumentation tests

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jun 29, 2026
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: emulator-wtf/invoke@b656e423c279ac57059850a10e02be7ec3c19c1d # v1.0.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
api-tokenApi token for emulator.wtfno
appApplication apk fileno
testTest apk fileno
library-testLibrary test apk fileno
additional-apksAdditional apks to install, one per lineno
file-cache-ttlMax time to keep cached files in the backend followed by a unit (d, h, m or s), with the maximum value being 90d and minimum value being 5m (default: 1h)no
file-cacheSet to false to disable remote file cache. APK and test-data will always be uploaded, even if they were uploaded before.no
display-nameDisplay name for the test run, this is used to identify the test run in the GitHub integration.no
devicesDevice configurations to use, in the form of model=X,version=Y per lineno
use-orchestratorSet to true to use the Android Test Orchestratorno
test-runner-classInstrumentation runner class to use for running tests (default is read from the test apk)no
clear-package-dataSet to true to clear app data between every test (only works with orchestrator)no
num-flaky-test-attemptsNumber of times to re-run shards or jobs that had test failures. Repeat attempts will run in parallel. Default: 0.no
flaky-test-repeat-modeWhether to repeat the whole failed shard (all) or only the failed tests (failed_only) in case of flaky tests. Default: failed_only.no
timeoutMax time until this test run is cancelled, expressed by a number followed by a unit (h, m or s), with the maximum value being 3h and minimum value being 60s. Default: 15m.no
test-targetsTest targets to run, one operator-target per line, e.g. class foo.bar.Foobarno
environment-variablesEnvironment variables to pass to AndroidJUnitRunner, one per line in the form of key=valueno
secret-environment-variablesSecret environment variables to pass to AndroidJUnitRunner, one per line in the form of key=value. Use this for passing tokens, passwords, credentials, etc.no
test-cacheSet to false to disable remote test cache - tests will always re-run, even if they were run before.no
side-effectsIndicates that the test run has side effects, i.e. it hits external resources and might be a part of a bigger test suite. Adding this flag means that the test will not be automatically retried in case of errors. Default: false.no
num-balanced-shardsSet to a number larger than 1 to split your tests into even shards based on historical runtime.no
shard-target-runtimeTarget runtime for each shard in minutes, tests will be split into shards targeting this runtime for each shard based on historical data on a best effort basis.no
testcase-duration-hintHint for the average runtime for each test case expressed by a number followed by a unit (h, m, s or ms), with the maximum value being 3h and the minimum value being 1ms (default 10s). Useful when historical runtime data is missing for tests alongside with `--shard-target-runtime`.no
num-uniform-shardsSet to a number larger than 1 to randomly split your tests into multiple shards.no
num-shardsSet to a number larger than 1 to split your tests into even shards based on test count.no
record-videoSet to true to record video of the test runno
with-coverageSet to true to collect coverage files and save them to <outputs-dir>no
directories-to-pullDirectories to pull from device and store in <outputs-dir>, one per lineno
outputsComma-separated list to specify what to download to output-dir. Defaults to `merged_results_xml,coverage,pulled_dirs`.no
outputs-dirLocation to store test outputs inno
dns-serverDNS server(s) to use for the emulator, one per line. Can specify up to 4 servers. If not specified, the emulator will use default DNS servers.no
dns-overrideHard-code specific hostname-ip combinations, one per line in the form of hostname=ip (e.g. example.com=10.0.0.1).no
egress-tunnelSet to true to enable tunneling outgoing internet traffic from the emulator to the action. This will redirect all network traffic as if you were running the emulator within the action.no
egress-localhost-fwd-ipWhen using the egress tunnel, make this action's localhost available to the emulator under the specified IP address (should NOT be a public IP, loopback IP or broadcast IP)no
proxy-hostConfigure a proxy host to use for all requests when making emulator.wtf API calls.no
proxy-portConfigure a proxy port to use for all requests when making emulator.wtf API calls.no
proxy-userSet the proxy user to use for authentication.no
proxy-passwordSet the proxy password to use for authentication.no
asyncRun the test asynchronously, without waiting for the results. This shines when used together with GitHub integration.no

no outputs