blob: cba46f60570ec32400339e3908b077a83201399c [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 .'
Matteo Scandolo2b877db2017-03-09 13:15:14 -080030 sh 'docker run -p 4000:4000 --net=host -d xosproject/xos-gui'
31 sh 'curl 127.0.0.1:4000/spa/ --write-out %{http_code} --silent --output /dev/null | grep 200'
Matteo Scandolo83df8d22017-03-09 10:39:17 -080032
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}