Merge pull request #4512 from vector-im/rav/chrome_headless
Use chrome headless instead of phantomjsrav/test
commit
43a70c2bfb
11
.travis.yml
11
.travis.yml
|
@ -1,3 +1,10 @@
|
||||||
|
# we need trusty for the chrome addon
|
||||||
|
dist: trusty
|
||||||
|
|
||||||
|
# we don't need sudo, so can run in a container, which makes startup much
|
||||||
|
# quicker.
|
||||||
|
sudo: false
|
||||||
|
|
||||||
language: node_js
|
language: node_js
|
||||||
node_js:
|
node_js:
|
||||||
# make sure we work with a range of node versions.
|
# make sure we work with a range of node versions.
|
||||||
|
@ -16,7 +23,9 @@ node_js:
|
||||||
- 6.3
|
- 6.3
|
||||||
- 6
|
- 6
|
||||||
- 7
|
- 7
|
||||||
|
addons:
|
||||||
|
chrome: stable
|
||||||
install:
|
install:
|
||||||
# clone the deps with depth 1: we know we will only ever need that one
|
# clone the deps with depth 1: we know we will only ever need that one
|
||||||
# commit.
|
# commit.
|
||||||
- scripts/fetch-develop.deps.sh --depth 1 && npm i phantomjs-prebuilt && npm install
|
- scripts/fetch-develop.deps.sh --depth 1 && npm install
|
||||||
|
|
38
README.md
38
README.md
|
@ -81,7 +81,7 @@ to build.
|
||||||
npm run build
|
npm run build
|
||||||
```
|
```
|
||||||
However, we recommend setting up a proper development environment (see "Setting
|
However, we recommend setting up a proper development environment (see "Setting
|
||||||
up a development environment" below) if you want to run your own copy of the
|
up a dev environment" below) if you want to run your own copy of the
|
||||||
`develop` branch, as it makes it much easier to keep these dependencies
|
`develop` branch, as it makes it much easier to keep these dependencies
|
||||||
up-to-date. Or just use https://riot.im/develop - the continuous integration
|
up-to-date. Or just use https://riot.im/develop - the continuous integration
|
||||||
release of the develop branch.
|
release of the develop branch.
|
||||||
|
@ -253,7 +253,6 @@ Finally, build and start Riot itself:
|
||||||
1. `rm -r node_modules/matrix-react-sdk; ln -s ../../matrix-react-sdk node_modules/`
|
1. `rm -r node_modules/matrix-react-sdk; ln -s ../../matrix-react-sdk node_modules/`
|
||||||
1. `npm start`
|
1. `npm start`
|
||||||
1. Wait a few seconds for the initial build to finish; you should see something like:
|
1. Wait a few seconds for the initial build to finish; you should see something like:
|
||||||
|
|
||||||
```
|
```
|
||||||
Hash: b0af76309dd56d7275c8
|
Hash: b0af76309dd56d7275c8
|
||||||
Version: webpack 1.12.14
|
Version: webpack 1.12.14
|
||||||
|
@ -282,19 +281,34 @@ If any of these steps error with, `file table overflow`, you are probably on a m
|
||||||
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
|
which has a very low limit on max open files. Run `ulimit -Sn 1024` and try again.
|
||||||
You'll need to do this in each new terminal you open before building Riot.
|
You'll need to do this in each new terminal you open before building Riot.
|
||||||
|
|
||||||
How to add a new translation?
|
Running the tests
|
||||||
=============================
|
-----------------
|
||||||
|
|
||||||
|
There are a number of application-level tests in the `tests` directory; these
|
||||||
|
are designed to run in a browser instance under the control of
|
||||||
|
[karma](https://karma-runner.github.io). To run them:
|
||||||
|
|
||||||
|
* Make sure you have Chrome installed (a recent version, like 59)
|
||||||
|
* Make sure you have `matrix-js-sdk` and `matrix-react-sdk` installed and
|
||||||
|
built, as above
|
||||||
|
* `npm run test`
|
||||||
|
|
||||||
|
The above will run the tests under Chrome in a `headless` mode.
|
||||||
|
|
||||||
|
You can also tell karma to run the tests in a loop (every time the source
|
||||||
|
changes), in an instance of Chrome on your desktop, with `npm run
|
||||||
|
test-multi`. This also gives you the option of running the tests in 'debug'
|
||||||
|
mode, which is useful for stepping through the tests in the developer tools.
|
||||||
|
|
||||||
|
Translations
|
||||||
|
============
|
||||||
|
|
||||||
|
To add a new translation, head to the [translating doc](docs/translating.md).
|
||||||
|
|
||||||
|
For a developer guide, see the [translating dev doc](docs/translating-dev.md).
|
||||||
|
|
||||||
[<img src="https://translate.riot.im/widgets/riot-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/riot-web/?utm_source=widget)
|
[<img src="https://translate.riot.im/widgets/riot-web/-/multi-auto.svg" alt="translationsstatus" width="340">](https://translate.riot.im/engage/riot-web/?utm_source=widget)
|
||||||
|
|
||||||
|
|
||||||
Head to the [translating doc](docs/translating.md)
|
|
||||||
|
|
||||||
Adding Strings to the translations (Developer Guide)
|
|
||||||
====================================================
|
|
||||||
|
|
||||||
Head to the [translating dev doc](docs/translating-dev.md)
|
|
||||||
|
|
||||||
Triaging issues
|
Triaging issues
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
|
|
@ -113,8 +113,23 @@ module.exports = function (config) {
|
||||||
browsers: [
|
browsers: [
|
||||||
'Chrome',
|
'Chrome',
|
||||||
//'PhantomJS',
|
//'PhantomJS',
|
||||||
|
//'ChromeHeadless'
|
||||||
],
|
],
|
||||||
|
|
||||||
|
customLaunchers: {
|
||||||
|
'ChromeHeadless': {
|
||||||
|
base: 'Chrome',
|
||||||
|
flags: [
|
||||||
|
// '--no-sandbox',
|
||||||
|
// See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
|
||||||
|
'--headless',
|
||||||
|
'--disable-gpu',
|
||||||
|
// Without a remote debugging port, Google Chrome exits immediately.
|
||||||
|
'--remote-debugging-port=9222',
|
||||||
|
],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
// Continuous Integration mode
|
// Continuous Integration mode
|
||||||
// if true, Karma captures browsers, runs the tests and exits
|
// if true, Karma captures browsers, runs the tests and exits
|
||||||
// singleRun: false,
|
// singleRun: false,
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
"lintall": "eslint src/ test/",
|
"lintall": "eslint src/ test/",
|
||||||
"clean": "rimraf lib webapp electron_app/dist",
|
"clean": "rimraf lib webapp electron_app/dist",
|
||||||
"prepublish": "npm run build:compile",
|
"prepublish": "npm run build:compile",
|
||||||
"test": "karma start --single-run=true --autoWatch=false --browsers PhantomJS --colors=false",
|
"test": "karma start --single-run=true --autoWatch=false --browsers ChromeHeadless --colors=false",
|
||||||
"test-multi": "karma start"
|
"test-multi": "karma start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -119,14 +119,12 @@
|
||||||
"karma-cli": "^0.1.2",
|
"karma-cli": "^0.1.2",
|
||||||
"karma-junit-reporter": "^0.4.1",
|
"karma-junit-reporter": "^0.4.1",
|
||||||
"karma-mocha": "^0.2.2",
|
"karma-mocha": "^0.2.2",
|
||||||
"karma-phantomjs-launcher": "^1.0.0",
|
|
||||||
"karma-webpack": "^1.7.0",
|
"karma-webpack": "^1.7.0",
|
||||||
"matrix-mock-request": "^1.0.0",
|
"matrix-mock-request": "^1.0.0",
|
||||||
"minimist": "^1.2.0",
|
"minimist": "^1.2.0",
|
||||||
"mkdirp": "^0.5.1",
|
"mkdirp": "^0.5.1",
|
||||||
"mocha": "^2.4.5",
|
"mocha": "^2.4.5",
|
||||||
"parallelshell": "^1.2.0",
|
"parallelshell": "^1.2.0",
|
||||||
"phantomjs-prebuilt": "^2.1.7",
|
|
||||||
"postcss-extend": "^1.0.5",
|
"postcss-extend": "^1.0.5",
|
||||||
"postcss-import": "^9.0.0",
|
"postcss-import": "^9.0.0",
|
||||||
"postcss-loader": "^1.2.2",
|
"postcss-loader": "^1.2.2",
|
||||||
|
|
Loading…
Reference in New Issue