/
Jenkinsfile
39 lines (39 loc) 路 1.19 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
#!groovy
node('arduino') {
try {
stage('Checkout') {
checkout([
$class: 'GitSCM',
branches: scm.branches,
extensions: scm.extensions + [[$class: 'CleanBeforeCheckout']],
userRemoteConfigs: scm.userRemoteConfigs
])
}
stage('Build') {
parallel 'kia soul firmware': {
sh 'cd firmware && mkdir build && cd build && cmake .. -DKIA_SOUL=ON -DCMAKE_BUILD_TYPE=Release && make'
}
echo 'Build Complete!'
}
stage('Test') {
parallel 'unit tests': {
sh 'cd firmware && mkdir build_unit_tests && cd build_unit_tests && cmake .. -DKIA_SOUL=ON -DTESTS=ON -DCMAKE_BUILD_TYPE=Release && make run-unit-tests'
echo 'Unit Tests Complete!'
}, 'property-based tests': {
sh 'cd firmware && mkdir build_property_tests && cd build_property_tests && cmake .. -DKIA_SOUL=ON -DTESTS=ON -DCMAKE_BUILD_TYPE=Release && make run-property-tests'
echo 'Property-Based Tests Complete!'
}, 'acceptance tests': {
echo 'Acceptance Tests Complete!'
}
}
stage('Release') {
echo 'Release Package Created!'
}
}
catch(Exception e) {
throw e;
}
finally {
deleteDir()
}
}