Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(265)

Side by Side Diff: appengine/isolate/doc/Design.md

Issue 2060983006: luci-py/isolateserver.py: Add archive support when downloading. (Closed) Base URL: https://github.com/luci/luci-py.git@master
Patch Set: Adding a test. Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | client/cipd.py » ('j') | client/cipd.py » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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.
OLDNEW
« no previous file with comments | « no previous file | client/cipd.py » ('j') | client/cipd.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698