### Start project
<code>yarn start</code>
-### Run tests
+### Run unit tests
<pre>
-yarn install
-yarn test
+make unit-tests
+</pre>
+
+### Run end-to-end tests
+
+<pre>
+make integration-tests
+</pre>
+
+### Run end-to-end tests in a Docker container
+
+<pre>
+make integration-tests-in-docker
+</pre>
+
+### Run tests interactively in container
+
+<pre>
+$ xhost +local:root
+$ ARVADOS_DIR=/path/to/arvados
+$ docker run -ti -v$PWD:$PWD -v$ARVADOS_DIR:/usr/src/arvados -w$PWD --env="DISPLAY" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" workbench2-build /bin/bash
+(inside container)
+# yarn run cypress install
+# tools/run-integration-tests.sh -i -a /usr/src/arvados
</pre>
### Production build
yarn build
</pre>
+### Package build
+<pre>
+make workbench2-build-image
+docker run -v$PWD:$PWD -w $PWD arvados/fpm make packages
+</pre>
+
### Build time configuration
You can customize project global variables using env variables. Default values are placed in the `.env` file.
Currently this configuration schema is supported:
```
{
- "API_HOST": "string"
+ "API_HOST": "string",
+ "VOCABULARY_URL": "string",
+ "FILE_VIEWERS_CONFIG_URL": "string",
}
```
+#### API_HOST
+
+The Arvados base URL.
+
+The `REACT_APP_ARVADOS_API_HOST` environment variable can be used to set the default URL if the run time configuration is unreachable.
+
+#### VOCABULARY_URL
+Local path, or any URL that allows cross-origin requests. See
+[Vocabulary JSON file example](public/vocabulary-example.json).
+
+To use the URL defined in the Arvados cluster configuration, remove the entire `VOCABULARY_URL` entry from the runtime configuration. Found in `/config.json` by default.
+
+### FILE_VIEWERS_CONFIG_URL
+Local path, or any URL that allows cross-origin requests. See:
+
+[File viewers config file example](public/file-viewers-example.json)
+
+[File viewers config scheme](src/models/file-viewers-config.ts)
+
+To use the URL defined in the Arvados cluster configuration, remove the entire `FILE_VIEWERS_CONFIG_URL` entry from the runtime configuration. Found in `/config.json` by default.
+
### Licensing
Arvados is Free Software. See COPYING for information about Arvados Free