- postgresql
before_script:
- - npm run build
- wget --no-check-certificate "https://download.cpy.re/ffmpeg/ffmpeg-release-3.0.2-64bit-static.tar.xz"
- tar xf ffmpeg-release-3.0.2-64bit-static.tar.xz
- mkdir -p $HOME/bin
- psql -c 'create database peertube_test6;' -U postgres
- psql -c "create user peertube with password 'peertube';" -U postgres
+matrix:
+ include:
+ - env: TEST_SUITE=build_then_client
+ - env: TEST_SUITE=api
+ - env: TEST_SUITE=cli
+ - env: TEST_SUITE=lint
+
+script:
+ - npm run travis -- "$TEST_SUITE"
+
after_failure:
- cat test1/logs/all-logs.log
- cat test2/logs/all-logs.log
beautify: false
}
},
- warnings: true
+ warningsFilter: () => false
}),
/**
"url": "git://github.com/Chocobozzz/PeerTube.git"
},
"scripts": {
- "test": "standard && tslint --type-check --project ./tsconfig.json -c ./tslint.json 'src/app/**/*.ts'",
+ "lint": "standard && tslint --type-check --project ./tsconfig.json -c ./tslint.json 'src/app/**/*.ts'",
"webpack": "webpack",
"webpack-dev-server": "webpack-dev-server",
"postinstall": "npm rebuild node-sass"
"tsc": "tsc",
"nodemon": "nodemon",
"ts-node": "ts-node",
- "tslint": "tslint"
+ "tslint": "tslint",
+ "travis": "scripty"
},
"dependencies": {
"async": "^2.0.0",
-#!/usr/bin/env sh
+#!/bin/bash
cd client || exit -1
-rm -rf ./compiled
+rm -rf ./compiled ./dist
npm run webpack -- --config config/webpack.prod.js --progress --profile --bail
#!/bin/bash
-npm run build:server
+npm run build:server || exit -1
-cd client || exit -1
-npm test || exit -1
-
-cd .. || exit -1
-npm run tslint -- --type-check --project ./tsconfig.json -c ./tslint.json server.ts "server/**/*.ts" || exit -1
-mocha --exit --require ts-node/register --bail server/tests/index.ts
+npm run travis -- client || exit -1
+npm run travis -- api || exit -1
+npm run travis -- cli || exit -1
+npm run travis -- lint || exit -1
--- /dev/null
+#!/bin/bash
+
+if [ $# -eq 0 ]; then
+ echo "Need test suite argument."
+ exit -1
+fi
+
+if [ "$1" = "build_then_client" ]; then
+ npm run build
+ mocha --exit --require ts-node/register --bail server/tests/client.ts
+elif [ "$1" = "client" ]; then
+ mocha --exit --require ts-node/register --bail server/tests/client.ts
+elif [ "$1" = "api" ]; then
+ mocha --exit --require ts-node/register --bail server/tests/api/index.ts
+elif [ "$1" = "cli" ]; then
+ mocha --exit --require ts-node/register --bail server/tests/cli/index.ts
+elif [ "$1" = "lint" ]; then
+ cd client || exit -1
+ npm run lint || exit -1
+
+ cd .. || exit -1
+ npm run tslint -- --type-check --project ./tsconfig.json -c ./tslint.json server.ts "server/**/*.ts" || exit -1
+fi