blob: eb324e6c7e4cbafb5160b87424939939b02e8da2 [file] [log] [blame]
Matteo Scandolo83df8d22017-03-09 10:39:17 -08001def filename = 'manifest-${branch}.xml'
2
3node ('master') {
4 checkout changelog: false, poll: false, scm: [$class: 'RepoScm', currentBranch: true, manifestBranch: params.branch, manifestRepositoryUrl: 'https://gerrit.opencord.org/manifest', quiet: true]
5
6 stage 'Generate and Copy Manifest file'
7 sh returnStdout: true, script: 'repo manifest -r -o ' + filename
8 sh returnStdout: true, script: 'cp ' + filename + ' ' + env.JENKINS_HOME + '/tmp'
9}
10
11timeout (time: 240) {
12 node ("${targetVM}") {
13 stage 'Checkout cord repo'
14 checkout changelog: false, poll: false, scm: [$class: 'RepoScm', currentBranch: true, manifestBranch: params.branch, manifestRepositoryUrl: 'https://gerrit.opencord.org/manifest', quiet: true]
15
16 dir('orchestration/xos-gui') {
17 try {
Matteo Scandolo7897e442017-03-09 10:55:29 -080018
19 stage 'Install Node Modules'
20 sh 'npm install'
21
Matteo Scandolo83df8d22017-03-09 10:39:17 -080022 stage 'Check Code Style'
23 sh 'npm run lint'
24
25 stage 'Run Unit Tests'
26 sh 'npm test'
27
28 stage 'Build GUI docker container'
29 sh 'docker build -t xosproject/xos-gui .'
30 sh 'docker run -p 4000:4000 -d xosproject/xos-gui'
31 sh 'curl 127.0.0.1:4000/spa/'
32
33 currentBuild.result = 'SUCCESS'
34 } catch (err) {
35 currentBuild.result = 'FAILURE'
36 step([$class: 'Mailer', notifyEveryUnstableBuild: true, recipients: 'teo@onlab.us', sendToIndividuals: true])
37 } finally {
38 sh 'docker stop xos-gui'
39 sh 'docker rm xos-gui'
40 sh 'docker rmi xosproject/xos-gui'
41 }
42 echo "RESULT: ${currentBuild.result}"
43 }
44
45 }
46}