| OLD | NEW |
| 1 # Isolated Server | 1 # Isolated Server |
| 2 | 2 |
| 3 High performance Infrastructure to run an executable with all its dependencies | 3 High performance Infrastructure to run an executable with all its dependencies |
| 4 mapped in. | 4 mapped in. |
| 5 | 5 |
| 6 **One line description:** How to push 10000 files worth 2Gb in total to tens of | 6 **One line description:** How to push 10000 files worth 2Gb in total to tens of |
| 7 bots within a few seconds, *even on Windows or Android*. | 7 bots within a few seconds, *even on Windows or Android*. |
| 8 | 8 |
| 9 | 9 |
| 10 ## Objective | 10 ## Objective |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 110 The root is a dictionary with the following keys: | 110 The root is a dictionary with the following keys: |
| 111 - `algo`: Hashing algorithm used to hash the content. Normally `'sha-1'`. | 111 - `algo`: Hashing algorithm used to hash the content. Normally `'sha-1'`. |
| 112 - `command`: exact command to run as a list. | 112 - `command`: exact command to run as a list. |
| 113 - `files`: list of dictionary, each key being the relative file path, and the | 113 - `files`: list of dictionary, each key being the relative file path, and the |
| 114 entry being a dict determining the properties of the file. Exactly one of | 114 entry being a dict determining the properties of the file. Exactly one of |
| 115 `h` or `l` must be present. `m` must be present only on POSIX systems. | 115 `h` or `l` must be present. `m` must be present only on POSIX systems. |
| 116 - `h`: file content's SHA-1 | 116 - `h`: file content's SHA-1 |
| 117 - `l`: link destination iff a symlink | 117 - `l`: link destination iff a symlink |
| 118 - `m`: posix file mode iff on posix | 118 - `m`: posix file mode iff on posix |
| 119 - `s`: file size iff not a symlink | 119 - `s`: file size iff not a symlink |
| 120 - `a`: file is an archive which needs extraction using tool |
| 120 - `includes`: references another `.isolated` file for additional files or to | 121 - `includes`: references another `.isolated` file for additional files or to |
| 121 provide the command. In practice, this is used to reduce `.isolated` file | 122 provide the command. In practice, this is used to reduce `.isolated` file |
| 122 size by moving rarely changed test data files in a separate `.isolated` | 123 size by moving rarely changed test data files in a separate `.isolated` |
| 123 file. | 124 file. |
| 124 - `read_only`: boolean to specify if all the files should be read-only. This | 125 - `read_only`: boolean to specify if all the files should be read-only. This |
| 125 will be eventually enforced. | 126 will be eventually enforced. |
| 126 - `relative_cwd`: relative directory inside the temporary directory tree when | 127 - `relative_cwd`: relative directory inside the temporary directory tree when |
| 127 the command should be executed from. | 128 the command should be executed from. |
| 128 - `version`: version of the file format. Increment the minor version for non | 129 - `version`: version of the file format. Increment the minor version for non |
| 129 breaking changes and the major version if code written for a previous | 130 breaking changes and the major version if code written for a previous |
| (...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 364 | 365 |
| 365 ## Testing Plan | 366 ## Testing Plan |
| 366 | 367 |
| 367 - The isolate server code is unit, smoke and canary tested. Since most of the | 368 - The isolate server code is unit, smoke and canary tested. Since most of the |
| 368 isolate server code is OS-independent and written in python, testing is | 369 isolate server code is OS-independent and written in python, testing is |
| 369 relatively easy. | 370 relatively easy. |
| 370 - Support for hardlinks, symlinks and native path case need OS-specific code | 371 - Support for hardlinks, symlinks and native path case need OS-specific code |
| 371 which can be tested itself on Swarming to get coverage across OSes. | 372 which can be tested itself on Swarming to get coverage across OSes. |
| 372 - A canary Continuous Integration master is run by the chromium team at | 373 - A canary Continuous Integration master is run by the chromium team at |
| 373 http://build.chromium.org/p/chromium.swarm/waterfall. | 374 http://build.chromium.org/p/chromium.swarm/waterfall. |
| OLD | NEW |