This repository has been archived by the owner on Jan 14, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 65
/
Jenkinsfile
107 lines (102 loc) · 2.3 KB
/
Jenkinsfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
@Library('lisk-jenkins') _
def waitForHttp(url) {
timeout(1) {
waitUntil {
script {
def api_available = sh script: "cd docker/jenkins && make http_status", returnStatus: true
return (api_available == 0)
}
}
}
}
pipeline {
agent { node { label 'lisk-explorer' } }
stages {
stage('Build docker image') {
steps {
sh '''
docker build --tag=lisk/explorer ./
'''
}
}
stage('Start the application') {
steps {
sh 'cd docker/jenkins && make coldstart'
}
post {
failure {
sh 'cd docker/jenkins && make logs'
sh 'cd docker/jenkins && make mrproper'
}
}
}
stage ('Run ESLint') {
steps {
sh 'cd docker/jenkins && make eslint'
}
post {
failure {
sh 'cd docker/jenkins && make logs'
sh 'cd docker/jenkins && make mrproper'
}
}
}
stage('Run functional tests') {
steps {
// waitForHttp('http://localhost:6040/api/getLastBlocks')
sleep(5)
sh 'cd docker/jenkins && make test'
}
post {
failure {
sh 'cd docker/jenkins && make logs'
}
cleanup {
sh 'cd docker/jenkins && make mrproper'
}
}
}
// stage ('Run E2E tests') {
// steps {
// wrap([$class: 'Xvfb']) {
// nvm(getNodejsVersion()) {
// sh 'npm run test:e2e -- --params.baseURL http://localhost:$EXPLORER_PORT'
// }
// }
// }
// }
}
// post {
// success {
// script {
// if (currentBuild.result == null || currentBuild.result == 'SUCCESS') {
// previous_build = currentBuild.getPreviousBuild()
// if (previous_build != null && previous_build.result == 'FAILURE') {
// build_info = getBuildInfo()
// liskSlackSend('good', "Recovery: build ${build_info} was successful.")
// }
// }
// }
// }
// failure {
// script {
// build_info = getBuildInfo()
// liskSlackSend('danger', "Build ${build_info} failed (<${env.BUILD_URL}/console|console>, <${env.BUILD_URL}/changes|changes>)\n")
// }
// }
// always {
// dir("$WORKSPACE/$BRANCH_NAME/") {
// ansiColor('xterm') {
// sh 'docker-compose logs || true'
// sh 'make mrproper'
// }
// }
// junit 'xunit-report.xml'
// archiveArtifacts artifacts: 'logs/*.log', allowEmptyArchive: true
// dir('logs') {
// deleteDir()
// }
// }
// }
}
// vim: filetype=groovy