Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

Commit

Permalink
Merge pull request #3 from LiskHQ/master
Browse files Browse the repository at this point in the history
Master
  • Loading branch information
Isabella Dell authored May 2, 2017
2 parents 0dac98a + 79dd512 commit 56ffce8
Show file tree
Hide file tree
Showing 138 changed files with 13,130 additions and 8,392 deletions.
14 changes: 14 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
node_modules
dapps
logs/*.log
nodejs
npm-debug.log
release
ssl
stacktrace*
tmp
public/node_modules
public/bower_components
public/static
test/lisk-js
helpers/bignum.js
39 changes: 39 additions & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"parserOptions": {
"ecmaVersion": 5,
"sourceType": "module"
},
"rules": {
"semi": "error",
"no-eq-null": "off",
"indent": ["error", "tab"],
"eqeqeq": "off",
"curly": "error",
"no-undef": "error",
"quotes": ["error", "single"],
"space-before-function-paren": ["error", {
"anonymous": "always",
"named": "always",
"asyncArrow": "ignore"
}],
"callback-return": "off",
"global-require": "off",
"handle-callback-err": "off",
"no-mixed-requires": "off",
"no-new-require": "off"
},
"env": {
"browser": true,
"node": true
},
"globals": {
"it": true,
"describe": true,
"before": true,
"beforeEach": true,
"after": true,
"afterEach": true
},
"plugins": []

}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,6 @@ npm-debug.log
release
ssl/
stacktrace*
test/.coverage-unit
tmp
sftp-config.json
1 change: 0 additions & 1 deletion .jshintignore

This file was deleted.

14 changes: 0 additions & 14 deletions .jshintrc

This file was deleted.

59 changes: 59 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
dist: 'trusty'
language: node_js
node_js:
- '6.10.1'
cache:
directories:
- test/lisk-js
- node_modules
services:
- postgresql
addons:
postgresql: '9.6'
install:
- npm install
before_script:
- createdb lisk_test
- psql -d lisk_test -c "alter user "$USER" with password 'password';"
- wget https://downloads.lisk.io/lisk-node/lisk-node-Linux-x86_64.tar.gz
- tar -zxvf lisk-node-Linux-x86_64.tar.gz
- cd test/lisk-js/; npm install; cd ../..
- cp test/config.json test/genesisBlock.json .
- node app.js &> .app.log &
notifications:
webhooks: https://coveralls.io/webhook?repo_token=l6rLvPBYHIwA92FQQmCUUTLI4zPuS4r5C
env:
global:
- NODE_ENV=test
- HOST=http://0.0.0.0:4000
- COVERALLS_PARALLEL=true
matrix:
# Longest duration first
- TEST=test/api/peer.transactions.stress.js TEST_TYPE='FUNC'
- TEST=test/api/peer.transactions.votes.js TEST_TYPE='FUNC'
- TEST=test/unit/logic TEST_TYPE='UNIT'
- TEST=test/api/delegates.js TEST_TYPE='FUNC'
- TEST=test/api/accounts.js TEST_TYPE='FUNC'
- TEST=test/api/blocks.js TEST_TYPE='FUNC'
- TEST=test/api/dapps.js TEST_TYPE='FUNC'
- TEST=test/api/loader.js TEST_TYPE='FUNC'
- TEST=test/api/multisignatures.js TEST_TYPE='FUNC'
- TEST=test/api/peer.js TEST_TYPE='FUNC'
- TEST=test/api/peer.dapp.js TEST_TYPE='FUNC'
- TEST=test/api/peer.blocks.js TEST_TYPE='FUNC'
- TEST=test/api/peer.signatures.js TEST_TYPE='FUNC'
- TEST=test/api/peer.transactions.collision.js TEST_TYPE='FUNC'
- TEST=test/api/peer.transactions.delegates.js TEST_TYPE='FUNC'
- TEST=test/api/peer.transactions.main.js TEST_TYPE='FUNC'
- TEST=test/api/peer.transactions.signatures.js TEST_TYPE='FUNC'
- TEST=test/api/peers.js TEST_TYPE='FUNC'
- TEST=test/api/signatures.js TEST_TYPE='FUNC'
- TEST=test/api/transactions.js TEST_TYPE='FUNC'

- TEST=test/unit/helpers TEST_TYPE='UNIT'
- TEST=test/unit/modules TEST_TYPE='UNIT'
script: 'npm run travis'
after_success:
- bash .travis/after-success.sh $TRAVIS_BUILD_NUMBER ${TRAVIS_JOB_NUMBER#*.} $TEST_TYPE $TRAVIS_BUILD_DIR $TRAVIS_BRANCH $TRAVIS_PULL_REQUEST_BRANCH;
after_failure:
- cat .app.log
19 changes: 19 additions & 0 deletions .travis/after-success.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env bash

TRAVIS_BUILD_NUMBER=$1
JOB_NUMBER=$2
TEST_TYPE=$3
TRAVIS_BUILD_DIR=$4
TRAVIS_BRANCH=$5
TRAVIS_PULL_REQUEST_BRANCH=$6

if [ ${TEST_TYPE} == "FUNC" ]; then
npm run fetchCoverage;
fi
bash .travis/send-report.sh \
${TRAVIS_BUILD_NUMBER} \
${JOB_NUMBER} \
${TEST_TYPE} \
${TRAVIS_BUILD_DIR} \
${TRAVIS_BRANCH} \
${TRAVIS_PULL_REQUEST_BRANCH};
48 changes: 48 additions & 0 deletions .travis/send-report.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/bin/bash

TRAVIS_BUILD_NUMBER=$1
JOB_NUMBER=$2
TEST_TYPE=$3
TRAVIS_BUILD_DIR=$4
TRAVIS_BRANCH=$5
TRAVIS_PULL_REQUEST_BRANCH=$6

if [ -z ${TRAVIS_BUILD_NUMBER+x} ] || [ -z ${JOB_NUMBER+x} ] || [ -z ${TEST_TYPE+x} ] || \
[ -z ${TRAVIS_BUILD_DIR+x} ] || [ -z ${TRAVIS_BRANCH+x} ] || [ -z ${TRAVIS_PULL_REQUEST_BRANCH+x} ]; then
echo "Provide all script parameters."
exit 1
fi

COVERAGE_DIR=${TRAVIS_BUILD_DIR}/test

if [ ${TEST_TYPE} == "FUNC" ]; then
REPORT_NAME=".coverage-func";
unzip ${COVERAGE_DIR}/.coverage-func.zip -d ${COVERAGE_DIR}/${REPORT_NAME}
else
REPORT_NAME=".coverage-unit";
fi

if [ ! -e ${COVERAGE_DIR}/${REPORT_NAME}/lcov.info ]; then
echo "Cannot find the report at path $COVERAGE_DIR/$REPORT_NAME";
exit 1
fi

if [ -n ${TRAVIS_PULL_REQUEST_BRANCH+x} ] && [ -n ${TRAVIS_PULL_REQUEST_BRANCH} ]; then
BRANCH=${TRAVIS_PULL_REQUEST_BRANCH}
else
BRANCH=${TRAVIS_BRANCH}
fi

COVERALLS_SERVICE_NAME="travis-ci"
COVERALLS_REPO_TOKEN=7s05KDqmPWkwZ6nzU5WtznKkt5FKDE3kv
COVERALLS_PARALLEL=true
COVERALLS_SERVICE_JOB_ID=JOB_NUMBER

yarn global add coveralls
cat ${COVERAGE_DIR}/${REPORT_NAME}/lcov.info | coveralls

if [ -z $? ] || [ $? -eq 1 ]; then
echo ${COVERAGE_DIR}/${REPORT_NAME}/lcov.info "SEND TO COVERALLS"
else
echo "Unable to create reports: " $?
fi
73 changes: 43 additions & 30 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ var util = require('util');
module.exports = function (grunt) {
var files = [
'logger.js',
'api/**/*.js',
'helpers/**/*.js',
'modules/*.js',
'logic/*.js',
Expand All @@ -18,8 +19,10 @@ module.exports = function (grunt) {

var config = require('./config.json');

var release_dir = __dirname + '/release/',
version_dir = release_dir + config.version;
var release_dir = __dirname + '/release/';
var version_dir = release_dir + config.version;

var maxBufferSize = require('buffer').kMaxLength - 1;

grunt.initConfig({
obfuscator: {
Expand All @@ -42,6 +45,7 @@ module.exports = function (grunt) {
util.format('cp %s/config.json %s', __dirname, version_dir),
util.format('cp %s/package.json %s', __dirname, version_dir),
util.format('cp %s/genesisBlock.json %s', __dirname, version_dir),
util.format('cp %s/LICENSE %s', __dirname, version_dir),
util.format('mkdir -p %s/sql/migrations', version_dir),
util.format('cp %s/sql/*.sql %s/sql/', __dirname, version_dir),
util.format('cp %s/sql/migrations/*.sql %s/sql/migrations/', __dirname, version_dir),
Expand All @@ -63,11 +67,28 @@ module.exports = function (grunt) {
].join(' && ');
}
},

folder: {
command: 'mkdir -p ' + release_dir
},

build: {
command: 'cd ' + version_dir + '/ && touch build && echo "v' + today + '" > build'
},

coverage: {
command: 'node_modules/.bin/istanbul cover --dir test/.coverage-unit ./node_modules/.bin/_mocha',
maxBuffer: maxBufferSize
},

coverageSingle: {
command: 'node_modules/.bin/istanbul cover --dir test/.coverage-unit ./node_modules/.bin/_mocha $TEST',
maxBuffer: maxBufferSize
},

fetchCoverage: {
command: 'rm -rf ./test/.coverage-func.zip; curl -o ./test/.coverage-func.zip $HOST/coverage/download',
maxBuffer: maxBufferSize
}
},

Expand All @@ -84,46 +105,38 @@ module.exports = function (grunt) {
}
},

jsdox: {
generate: {
src: [
'helpers/*.js'
// './modules/*.js'
],
dest: 'tmp/docs',
options: {
templateDir: 'var/jsdox'
}
}
},

jshint: {
eslint: {
options: {
jshintrc: true
configFile: '.eslintrc.json',
format: 'codeframe',
fix: false
},
all: [
'*.js',
'helpers/**/*.js',
'modules/**/*.js',
'logic/**/*.js',
'schema/**/*.js',
'sql/**/*.js',
'tasks/**/*.js',
'test/*.js',
'test/api/**/*.js',
'test/unit/**/*.js'
target: [
'api',
'helpers',
'modules',
'logic',
'schema',
'tasks',
'test'
]
}
});

grunt.loadTasks('tasks');

grunt.loadNpmTasks('grunt-obfuscator');
grunt.loadNpmTasks('grunt-jsdox');
grunt.loadNpmTasks('grunt-exec');
grunt.loadNpmTasks('grunt-contrib-compress');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-eslint');

grunt.registerTask('default', ['release']);
grunt.registerTask('release', ['exec:folder', 'obfuscator', 'exec:package', 'exec:build', 'compress']);
grunt.registerTask('travis', ['eslint', 'exec:coverageSingle']);
grunt.registerTask('test', ['eslint', 'exec:coverage']);

grunt.registerTask('eslint-fix', 'Run eslint and fix formatting', function () {
grunt.config.set('eslint.options.fix', true);
grunt.task.run('eslint');
});
};
Loading

0 comments on commit 56ffce8

Please sign in to comment.