|
1 | 1 | properties properties: [ |
2 | | - [$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '10']], |
3 | | - disableConcurrentBuilds() |
| 2 | + [$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '30', numToKeepStr: '10']], |
| 3 | + disableConcurrentBuilds() |
4 | 4 | ] |
5 | 5 |
|
6 | 6 | @Library('mare-build-library') |
7 | 7 | def nodeJS = new de.mare.ci.jenkins.NodeJS() |
8 | 8 |
|
9 | | -timeout(60) { |
10 | | - node('nativescript') { |
11 | | - def buildNumber = env.BUILD_NUMBER |
12 | | - def branchName = env.BRANCH_NAME |
13 | | - def workspace = env.WORKSPACE |
14 | | - def buildUrl = env.BUILD_URL |
15 | | - |
16 | | - // PRINT ENVIRONMENT TO JOB |
17 | | - echo "workspace directory is $workspace" |
18 | | - echo "build URL is $buildUrl" |
19 | | - echo "build Number is $buildNumber" |
20 | | - echo "branch name is $branchName" |
21 | | - echo "PATH is $env.PATH" |
22 | | - |
23 | | - try { |
24 | | - stage('Checkout') { |
25 | | - checkout scm |
26 | | - } |
27 | | - |
28 | | - dir('src') { |
29 | | - stage('Build') { |
30 | | - sh "npm run clean && npm run build" |
31 | | - } |
32 | | - |
33 | | - stage('Test') { |
34 | | - sh "npm run test" |
35 | | - junit 'target/junit-report/junitresults-*.xml' |
36 | | - } |
37 | | - } |
38 | | - |
39 | | - stage('End2End Test') { |
40 | | - sh "cd demo && npm run build.plugin && npm i && npm run build-ios-bundle && npm run build-android-bundle" |
41 | | - sh "cd demo-angular && npm run build.plugin && npm i && npm run build-ios-bundle && npm run build-android-bundle" |
42 | | - } |
43 | | - |
44 | | - dir('src') { |
45 | | - stage('Publish NPM snapshot') { |
46 | | - sh "npm run build" |
47 | | - nodeJS.publishSnapshot('.', buildNumber, branchName) |
48 | | - } |
49 | | - } |
50 | | - |
51 | | - } catch (e) { |
52 | | - mail subject: "${env.JOB_NAME} (${env.BUILD_NUMBER}): Error on build", to: 'github@martinreinhardt-online.de', body: "Please go to ${env.BUILD_URL}." |
53 | | - throw e |
54 | | - } |
| 9 | +timeout(150) { |
| 10 | + node('nativescript') { |
| 11 | + def buildNumber = env.BUILD_NUMBER |
| 12 | + def branchName = env.BRANCH_NAME |
| 13 | + def workspace = env.WORKSPACE |
| 14 | + def buildUrl = env.BUILD_URL |
| 15 | + |
| 16 | + // PRINT ENVIRONMENT TO JOB |
| 17 | + echo "workspace directory is $workspace" |
| 18 | + echo "build URL is $buildUrl" |
| 19 | + echo "build Number is $buildNumber" |
| 20 | + echo "branch name is $branchName" |
| 21 | + echo "PATH is $env.PATH" |
| 22 | + |
| 23 | + try { |
| 24 | + stage('Checkout') { |
| 25 | + checkout scm |
| 26 | + } |
| 27 | + |
| 28 | + stage('Build') { |
| 29 | + sh "cd publish && npm run setup-dev-env" |
| 30 | + sh "cd demo && rm -rf hooks/ node_modules/ platforms/ && npm i" |
| 31 | + sh "cd demo-angular && rm -rf hooks/ node_modules/ platforms/ && npm i" |
| 32 | + } |
| 33 | + |
| 34 | + stage('Webpack') { |
| 35 | + parallel demo: { |
| 36 | + sh "cd demo && npm run build-ios-bundle && npm run build-android-bundle" |
| 37 | + }, demoAngular: { |
| 38 | + sh "cd demo-angular && npm run build-ios-bundle && npm run build-android-bundle" |
| 39 | + }, |
| 40 | + failFast: true |
| 41 | + } |
| 42 | + |
| 43 | + stage('Test') { |
| 44 | + parallel unit:{ |
| 45 | + sh "cd src && npm run test" |
| 46 | + }, iOS: { |
| 47 | + //sh "cd demo && npm run ci.ios.build && tns test ios --justlaunch --emulator" |
| 48 | + }, Android: { |
| 49 | + //sh "cd demo && npm run ci.android.build && tns test android --justlaunch --emulator" |
| 50 | + }, |
| 51 | + failFast: true |
| 52 | + junit 'demo/target/junit-report/*.xml,src/target/junit-report/*.xml' |
| 53 | + } |
| 54 | + |
| 55 | + stage('Publish NPM snapshot') { |
| 56 | + def packageJSON = readJSON file: './src/package.json'; |
| 57 | + sh "cd publish/package && mv *.tgz nativescript-urlhandler_v${packageJSON.version}-build${buildNumber}.tgz" |
| 58 | + archiveArtifacts artifacts: 'publish/package/*.tgz' |
| 59 | + nodeJS.publishSnapshot('src', buildNumber, branchName) |
| 60 | + } |
| 61 | + |
| 62 | + } catch (e) { |
| 63 | + mail subject: "${env.JOB_NAME} (${env.BUILD_NUMBER}): Error on build", to: 'github@martinreinhardt-online.de', body: "Please go to ${env.BUILD_URL}." |
| 64 | + throw e |
55 | 65 | } |
| 66 | + } |
56 | 67 | } |
57 | 68 |
|
0 commit comments