forked from mdn/kumascript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile
86 lines (78 loc) · 2.38 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
node {
stage("Prepare") {
// Checkout Kuma project's master branch
checkout([$class: 'GitSCM',
userRemoteConfigs: [[url: 'https://github.com/mozilla/kuma']],
branches: [[name: 'refs/heads/master']],
extensions: [[$class: 'SubmoduleOption',
disableSubmodules: false,
parentCredentials: false,
recursiveSubmodules: true,
reference: '',
trackingSubmodules: false]],
doGenerateSubmoduleConfigurations: false,
submoduleCfg: []
])
// Checkout KumaScript in subfolder
dir('kumascript') {
checkout scm
}
}
switch (env.BRANCH_NAME) {
case 'master':
stage('Build') {
sh 'make build-kumascript'
sh 'make build-kumascript KS_VERSION=latest'
}
stage('Lint') {
dir('kumascript') {
sh 'make lint VERSION=latest'
sh 'make lint-macros VERSION=latest'
}
}
stage('Test') {
dir('kumascript') {
try {
sh 'make test VERSION=latest TEST_RUN_ARGS="--reporter mocha-junit-reporter"'
} finally {
junit 'test-results.xml'
}
try {
sh 'make test-macros VERSION=latest TEST_RUN_ARGS="--reporter mocha-junit-reporter"'
} finally {
junit 'test-results.xml'
}
}
}
stage('Push KumaScript Docker Image') {
sh 'make push-kumascript'
sh 'make push-kumascript KS_VERSION=latest'
}
break
default:
stage('Build') {
sh 'make build-kumascript'
}
stage('Lint') {
dir('kumascript') {
sh 'make lint'
sh 'make lint-macros'
}
}
stage('Test') {
dir('kumascript') {
try {
sh 'make test TEST_RUN_ARGS="--reporter mocha-junit-reporter"'
} finally {
junit 'test-results.xml'
}
try {
sh 'make test-macros TEST_RUN_ARGS="--reporter mocha-junit-reporter"'
} finally {
junit 'test-results.xml'
}
}
}
break
}
}