@@ -4,59 +4,74 @@ pipeline {
4
4
DOCKER_IMAGE_TAG = " panda:build-${ env.GIT_COMMIT} "
5
5
}
6
6
stages {
7
- stage(' Build Docker Image' ) {
8
- steps {
9
- timeout(time : 60 , unit : ' MINUTES' ) {
10
- script {
11
- sh ' git archive -v -o panda.tar.gz --format=tar.gz HEAD'
12
- dockerImage = docker. build(" ${ env.DOCKER_IMAGE_TAG} " )
7
+ stage (' Acquire resource locks' ) {
8
+ options {
9
+ lock(resource : " pandas" )
10
+ }
11
+ stages {
12
+ stage(' Build Docker Image' ) {
13
+ steps {
14
+ timeout(time : 60 , unit : ' MINUTES' ) {
15
+ script {
16
+ sh ' git archive -v -o panda.tar.gz --format=tar.gz HEAD'
17
+ dockerImage = docker. build(" ${ env.DOCKER_IMAGE_TAG} " )
18
+ }
19
+ }
13
20
}
14
21
}
15
- }
16
- }
17
- stage(' pedal tests' ) {
18
- steps {
19
- lock(resource : " pedal" , inversePrecedence : true , quantity : 1 ) {
20
- timeout(time : 10 , unit : ' MINUTES' ) {
21
- script {
22
- sh " docker run --rm --privileged \
23
- --volume /dev/bus/usb:/dev/bus/usb \
24
- --volume /var/run/dbus:/var/run/dbus \
25
- --net host \
26
- ${ env.DOCKER_IMAGE_TAG} \
27
- bash -c 'cd /tmp/panda && PEDAL_JUNGLE=058010800f51363038363036 python ./tests/pedal/test_pedal.py'"
22
+ stage(' reset hardware' ) {
23
+ steps {
24
+ timeout(time : 10 , unit : ' MINUTES' ) {
25
+ script {
26
+ sh " docker run --rm --privileged \
27
+ --volume /dev/bus/usb:/dev/bus/usb \
28
+ --volume /var/run/dbus:/var/run/dbus \
29
+ --net host \
30
+ ${ env.DOCKER_IMAGE_TAG} \
31
+ bash -c 'cd /tmp/panda && scons -j8 && python ./tests/ci_reset_hw.py'"
32
+ }
28
33
}
29
34
}
30
35
}
31
- }
32
- }
33
- stage(' HITL tests' ) {
34
- steps {
35
- lock(resource : " pandas" , inversePrecedence : true , quantity : 1 ) {
36
- timeout(time : 20 , unit : ' MINUTES' ) {
37
- script {
38
- sh " docker run --rm --privileged \
39
- --volume /dev/bus/usb:/dev/bus/usb \
40
- --volume /var/run/dbus:/var/run/dbus \
41
- --net host \
42
- ${ env.DOCKER_IMAGE_TAG} \
43
- bash -c 'cd /tmp/panda && scons -j8 && PANDAS_JUNGLE=23002d000851393038373731 PANDAS_EXCLUDE=\" 1d0002000c51303136383232 2f002e000c51303136383232\" ./tests/automated/test.sh'"
36
+ stage(' pedal tests' ) {
37
+ steps {
38
+ timeout(time : 10 , unit : ' MINUTES' ) {
39
+ script {
40
+ sh " docker run --rm --privileged \
41
+ --volume /dev/bus/usb:/dev/bus/usb \
42
+ --volume /var/run/dbus:/var/run/dbus \
43
+ --net host \
44
+ ${ env.DOCKER_IMAGE_TAG} \
45
+ bash -c 'cd /tmp/panda && PEDAL_JUNGLE=058010800f51363038363036 python ./tests/pedal/test_pedal.py'"
46
+ }
44
47
}
45
48
}
46
49
}
47
- }
48
- }
49
- stage(' CANFD tests' ) {
50
- steps {
51
- lock(resource : " pedal" , inversePrecedence : true , quantity : 1 ) {
52
- timeout(time : 10 , unit : ' MINUTES' ) {
53
- script {
54
- sh " docker run --rm --privileged \
55
- --volume /dev/bus/usb:/dev/bus/usb \
56
- --volume /var/run/dbus:/var/run/dbus \
57
- --net host \
58
- ${ env.DOCKER_IMAGE_TAG} \
59
- bash -c 'cd /tmp/panda && scons -j8 && JUNGLE=058010800f51363038363036 H7_PANDAS_EXCLUDE=\" 080021000c51303136383232\" ./tests/canfd/test_canfd.py'"
50
+ stage(' HITL tests' ) {
51
+ steps {
52
+ timeout(time : 30 , unit : ' MINUTES' ) {
53
+ script {
54
+ sh " docker run --rm --privileged \
55
+ --volume /dev/bus/usb:/dev/bus/usb \
56
+ --volume /var/run/dbus:/var/run/dbus \
57
+ --net host \
58
+ ${ env.DOCKER_IMAGE_TAG} \
59
+ bash -c 'cd /tmp/panda && scons -j8 && PANDAS_JUNGLE=23002d000851393038373731 PANDAS_EXCLUDE=\" 1d0002000c51303136383232 2f002e000c51303136383232\" ./tests/automated/test.sh'"
60
+ }
61
+ }
62
+ }
63
+ }
64
+ stage(' CANFD tests' ) {
65
+ steps {
66
+ timeout(time : 10 , unit : ' MINUTES' ) {
67
+ script {
68
+ sh " docker run --rm --privileged \
69
+ --volume /dev/bus/usb:/dev/bus/usb \
70
+ --volume /var/run/dbus:/var/run/dbus \
71
+ --net host \
72
+ ${ env.DOCKER_IMAGE_TAG} \
73
+ bash -c 'cd /tmp/panda && scons -j8 && JUNGLE=058010800f51363038363036 H7_PANDAS_EXCLUDE=\" 080021000c51303136383232\" ./tests/canfd/test_canfd.py'"
74
+ }
60
75
}
61
76
}
62
77
}
0 commit comments