Skip to content
This repository has been archived by the owner on Jan 14, 2022. It is now read-only.

Use Node.js 8.14.0 - Closes #837 #838

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
8.11.2
8.14.0
122 changes: 76 additions & 46 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
pipeline {
agent { node { label 'lisk-explorer' } }
environment {
LISK_VERSION = '1.0.0-beta.9.2'
LISK_CORE_VERSION = '1.3.0'
EXPLORER_PORT = "604$EXECUTOR_NUMBER"
LISK_HOST = 'localhost'
REDIS_DB = "$EXECUTOR_NUMBER"
Expand All @@ -12,82 +12,112 @@ pipeline {
stages {
stage ('Build dependencies') {
steps {
script {
cache_file = restoreCache("package.json")
sh 'npm install'
saveCache(cache_file, './node_modules', 10)
nvm(getNodejsVersion()) {
sh 'npm ci'
}
}
}
stage ('Run ESLint') {
steps {
sh 'npm run eslint'
nvm(getNodejsVersion()) {
sh 'npm run eslint'
}
}
}
stage ('Build bundles') {
steps {
sh 'npm run build'
nvm(getNodejsVersion()) {
sh 'npm run build'
}
}
}
stage ('Build candles') {
steps {
// marketwatcher needs to be enabled to builds candles
sh '''
cp ./test/known.test.json ./known.json
redis-cli -n $REDIS_DB flushdb
grunt candles:build
'''
nvm(getNodejsVersion()) {
// marketwatcher needs to be enabled to builds candles
sh '''
cp ./test/known.test.json ./known.json
redis-cli -n $REDIS_DB flushdb
grunt candles:build
'''
}
}
}
stage ('Start Lisk') {
steps {
dir("$WORKSPACE/$BRANCH_NAME/") {
ansiColor('xterm') {
sh '''
rsync -axl --delete ~/lisk-docker/examples/development/ ./
cp ~/blockchain_explorer.db.gz ./blockchain.db.gz
make coldstart
'''
// show some build-related info
sh '''
sha1sum ./blockchain.db.gz
docker-compose config
docker-compose ps
'''
// Explorer needs the topAccounts feature to be enabled
sh '''
docker-compose exec -T lisk sed -i -r -e 's/(\\s*"topAccounts":)\\s*false,/\\1 true,/' config.json
docker-compose restart lisk
'''
}
dir('lisk') {
checkout([$class: 'GitSCM',
branches: [[name: "v${env.LISK_CORE_VERSION}" ]],
userRemoteConfigs: [[url: 'https://github.com/LiskHQ/lisk']]])
}

ansiColor('xterm') {
sh '''#!/bin/bash -xe
rm -rf $WORKSPACE/$BRANCH_NAME/
cp -rf $WORKSPACE/lisk/docker/ $WORKSPACE/$BRANCH_NAME/
wget -nv https://downloads.lisk.io/lisk-explorer/dev/dev_blockchain.db.gz -O $WORKSPACE/$BRANCH_NAME/dev_blockchain.db.gz
cd $WORKSPACE/$BRANCH_NAME
cp .env.development .env

sed -i -r -e '/ports:/,+2d' docker-compose.yml
# random port assignment
cat <<EOF >docker-compose.override.yml
version: "2"
services:

lisk:
ports:
- \\${ENV_LISK_HTTP_PORT}
- \\${ENV_LISK_WS_PORT}
EOF

ENV_LISK_VERSION="$LISK_CORE_VERSION" make coldstart
'''
// show some build-related info
sh '''
cd $WORKSPACE/$BRANCH_NAME
sha1sum dev_blockchain.db.gz
docker-compose config
docker-compose ps
'''
// Explorer needs the topAccounts feature to be enabled
sh '''
cd $WORKSPACE/$BRANCH_NAME
docker-compose exec -T lisk sed -i -r -e 's/(\\s*"topAccounts":)\\s*false,/\\1 true,/' config/default/config.json
docker-compose restart lisk
'''
}
}
}
stage ('Start Explorer') {
steps {
sh '''
cd $WORKSPACE/$BRANCH_NAME
LISK_PORT=$( docker-compose port lisk 4000 |cut -d ":" -f 2 )
cd -
LISK_PORT=$LISK_PORT node app.js -p $EXPLORER_PORT &>/dev/null &
sleep 20
'''
nvm(getNodejsVersion()) {
sh '''
cd $WORKSPACE/$BRANCH_NAME
LISK_PORT=$( docker-compose port lisk 4000 |cut -d ":" -f 2 )
cd -
LISK_PORT=$LISK_PORT node app.js -p $EXPLORER_PORT &>/dev/null &
sleep 20
'''
}
}
}
stage ('Run API tests') {
steps {
sh '''
sed -i -r -e "s/6040/$EXPLORER_PORT/" test/node.js
npm run test
'''
nvm(getNodejsVersion()) {
sh '''
sed -i -r -e "s/6040/$EXPLORER_PORT/" test/node.js
npm run test
'''
}
}
}
// stage ('Run E2E tests') {
// steps {
// wrap([$class: 'Xvfb']) {
// sh '''
// npm run e2e -- --params.baseURL http://localhost:$EXPLORER_PORT
// '''
// nvm(getNodejsVersion()) {
// sh 'npm run e2e -- --params.baseURL http://localhost:$EXPLORER_PORT'
// }
// }
// }
// }
Expand Down