farm-runner 1.1.0

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.
package/README.md ADDED
@@ -0,0 +1,80 @@
1
+ # @device-farm/node
2
+
3
+ Node server package for the Device Farm project - connects devices to the hub for distributed testing.
4
+
5
+ ## 📖 Documentation
6
+
7
+ **All documentation has been consolidated in the [main README](../../README.md).**
8
+
9
+ Please refer to the main README for:
10
+
11
+ - **[Node Configuration](../../README.md#-node-configuration)** - Complete configuration reference
12
+ - **[Embedded Appium Server](../../README.md#-embedded-appium-server)** - Built-in Appium server setup
13
+ - **[ADB Log Capture](../../README.md#-adb-log-capture)** - Automatic Android log capture
14
+ - **[iOS Automation Setup](../../README.md#-ios-automation-setup)** - WebDriverAgent preparation
15
+ - **[Node Liveness & Heartbeat System](../../README.md#-node-liveness--heartbeat-system)** - How nodes stay connected
16
+ - **[Available Scripts](../../README.md#-available-scripts)** - Commands to run the node server
17
+
18
+ ## 🚀 Quick Start
19
+
20
+ ### From Root Directory (Recommended)
21
+
22
+ ```bash
23
+ # Copy and edit the configuration file
24
+ cp packages/node/node.config.example.json packages/node/node.config.json
25
+
26
+ # Edit node.config.json with your hub credentials
27
+ # Then start the node server
28
+ npm run start:node
29
+ ```
30
+
31
+ ### From Node Package Directory
32
+
33
+ ```bash
34
+ # Copy and edit the configuration file
35
+ cp node.config.example.json node.config.json
36
+
37
+ # Edit node.config.json with your hub credentials
38
+ # Then start the server
39
+ npm run start
40
+ ```
41
+
42
+ ## 🔧 Minimal Configuration
43
+
44
+ Create `packages/node/node.config.json`:
45
+
46
+ ```json
47
+ {
48
+ "hubUrl": "http://localhost:3000",
49
+ "accessKey": "YOUR_ACCESS_KEY",
50
+ "token": "YOUR_TOKEN",
51
+ "name": "My Node"
52
+ }
53
+ ```
54
+
55
+ The node will automatically:
56
+
57
+ - Detect and register connected devices
58
+ - Start an embedded Appium server
59
+ - Send heartbeats to the hub
60
+ - Process automation requests
61
+
62
+ ## 📦 What This Package Does
63
+
64
+ - **Device Detection**: Automatically discovers connected Android and iOS devices
65
+ - **Appium Integration**: Runs an embedded Appium server (no global installation needed)
66
+ - **Hub Communication**: Registers with the hub and maintains connection via heartbeats
67
+ - **Session Management**: Creates and manages Appium sessions on local devices
68
+ - **Log Capture**: Automatically captures device logs (ADB logcat for Android)
69
+ - **Capability Processing**: Handles device-specific capabilities like WDA for iOS
70
+
71
+ ## 🔗 Related Documentation
72
+
73
+ - **Complete Configuration**: See [Node Configuration](../../README.md#-node-configuration) in main README
74
+ - **Database Setup**: See [Database Setup](../../README.md#-database-setup) in main README
75
+ - **iOS Setup**: See [iOS Automation Setup](../../README.md#-ios-automation-setup) in main README
76
+ - **Heartbeat System**: See [Node Liveness & Heartbeat System](../../README.md#-node-liveness--heartbeat-system) in main README
77
+
78
+ ## 📄 License
79
+
80
+ MIT