@validate.qa/runner 1.0.34 → 1.0.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +30 -7
  2. package/dist/cli.js +3459 -783
  3. package/dist/cli.mjs +3464 -788
  4. package/package.json +4 -3
package/README.md CHANGED
@@ -39,6 +39,28 @@ Starts the runner daemon, polling for pending test runs from the cloud and execu
39
39
  npx @validate.qa/runner start
40
40
  ```
41
41
 
42
+ ### Auto-update (required)
43
+
44
+ Every published runner version can change the client↔server workflow. On
45
+ `login` / `start` / `status`, and again every ~15 minutes while running, the
46
+ CLI checks the npm `latest` dist-tag for `@validate.qa/runner`. If your
47
+ install is behind, the process **exits** with install instructions:
48
+
49
+ ```bash
50
+ npm install -g @validate.qa/runner@latest
51
+ validate-runner start
52
+ ```
53
+
54
+ The server also rejects heartbeats from outdated local runners (HTTP 426) so
55
+ they cannot claim new work. Cloud / shared runners are not gated by this.
56
+
57
+ | Env var | Effect |
58
+ |---------|--------|
59
+ | `VALIDATE_RUNNER_ALLOW_OUTDATED=1` | Emergency bypass (debug / air-gapped only) |
60
+ | `VALIDATE_RUNNER_VERSION_CHECK_MS` | Recheck interval while running (min 60s, default 15m) |
61
+ | `RUNNER_CLOUD=true` | Skips the check (shared-runner / cloud images) |
62
+ | `MIN_LOCAL_RUNNER_VERSION` *(server)* | Optional floor version if npm is unreachable |
63
+
42
64
  ---
43
65
 
44
66
  ## Commands
@@ -95,7 +117,7 @@ The runner supports native mobile app testing on:
95
117
  - **iOS:** Simulators (macOS) + Real devices via USB
96
118
  - **Android:** Emulators + Real devices via USB
97
119
 
98
- Tests are executed using **Appium 2** with XCUITest (iOS) and UiAutomator2 (Android) drivers.
120
+ Tests are executed using **Appium** with XCUITest (iOS) and UiAutomator2 (Android) drivers.
99
121
 
100
122
  ### How It Works
101
123
 
@@ -150,7 +172,7 @@ Tests are executed using **Appium 2** with XCUITest (iOS) and UiAutomator2 (Andr
150
172
  - **Emulator** - Create via Android Studio → Device Manager
151
173
 
152
174
  #### Node.js
153
- - **Version**: Node 18 or higher
175
+ - **Version**: Node 20 or higher
154
176
  - **npm**: Latest stable version
155
177
 
156
178
  ### Setup Steps
@@ -166,7 +188,7 @@ Expected output:
166
188
  ✓ Playwright installed
167
189
  ✓ Xcode 15.x (iOS SDK)
168
190
  ✓ Android SDK (API 34)
169
- ✓ Appium 2.x available
191
+ ✓ Appium available
170
192
  ```
171
193
 
172
194
  #### 2. Boot a Simulator/Emulator
@@ -261,7 +283,7 @@ validate.qa Local Runner
261
283
 
262
284
  #### 6. Run Mobile Tests
263
285
 
264
- **Note:** The "Run Test" button in the UI is currently disabled for mobile tests (shows "Run Pending"). Tests execute automatically when:
286
+ The **Run Test** button queues Appium tests directly. A queued mobile run starts when:
265
287
 
266
288
  1. You queue a run from the dashboard
267
289
  2. The runner is online with `--mobile` flag
@@ -296,7 +318,7 @@ npx @validate.qa/runner start --mobile
296
318
  ```
297
319
 
298
320
  Enables:
299
- - Appium 2 server (port 4723)
321
+ - Appium server (port 4723)
300
322
  - Mobile bridge server (port 9515)
301
323
  - Device discovery and capabilities reporting
302
324
  - iOS Simulator + Android Emulator support
@@ -305,7 +327,7 @@ Enables:
305
327
 
306
328
  | Feature | Web Tests | Mobile Tests |
307
329
  |---------|-----------|--------------|
308
- | Framework | Playwright | Appium 2 |
330
+ | Framework | Playwright | Appium |
309
331
  | Browser/Device | Headless Chromium | iOS Simulator / Android Emulator |
310
332
  | Locator Strategy | CSS selectors, XPath | Accessibility ID, XPath, Resource ID |
311
333
  | Actions | click, fill, navigate | tap, type, swipe, back, home |
@@ -529,10 +551,11 @@ npm publish --access public
529
551
 
530
552
  ### Version
531
553
 
532
- **Current:** 1.0.0
554
+ **Current:** 1.0.35
533
555
 
534
556
  **Changelog:** See [git history](https://github.com/Validate-QA/validate.qa/commits/main/packages/runner) for the full change log. Recent highlights:
535
557
 
558
+ - **1.0.35** - Force-upgrade gate: outdated installs exit when a newer package is on npm (workflow changes every release)
536
559
  - **1.0.0** - First stable release
537
560
  - **0.1.10** - Rename package to `@validate.qa/runner`; API test capabilities; discovery pipeline refactor
538
561
  - **0.1.9** - Mobile execution improvements; mobile bridge security hardening