@@ -4,9 +4,24 @@ node(label: 'raspberrypi') {
4
4
durabilityHint(hint : ' PERFORMANCE_OPTIMIZED' )
5
5
])
6
6
7
+ // --- configuration for an arch-indep package ---
8
+
9
+ // The distributions we build on
10
+ def build_dist_list = [
11
+ " bullseye"
12
+ ]
13
+
14
+ // The distribution/architecture combinations we test-install on.
15
+ def test_dist_arch_list = [
16
+ [" bullseye" , " armhf" ]
17
+ ]
18
+
19
+ // The list of packages to test-install, in the correct order to install.
20
+ def test_package_list = [" piaware-ble-connect" ]
21
+
22
+ // --- implementation ---
23
+
7
24
def srcdir = " ${ WORKSPACE} /src"
8
- def resultsdir = " results"
9
- def dist = " bullseye"
10
25
11
26
stage(" Checkout" ) {
12
27
sh " rm -fr ${ srcdir} "
@@ -16,20 +31,51 @@ node(label: 'raspberrypi') {
16
31
}
17
32
}
18
33
19
- stage(" Build" ) {
20
- sh " rm -fr ${ resultsdir} "
21
- sh " mkdir -p ${ resultsdir} "
22
- dir(srcdir) {
23
- sh " DIST=${ dist} BRANCH=${ env.BRANCH_NAME} pdebuild --use-pdebuild-internal --debbuildopts -b --buildresult ${ WORKSPACE} /${ resultsdir} "
34
+ def resultdirs = [:]
35
+ for (int i = 0 ; i < build_dist_list. size(); ++ i) {
36
+ def dist = build_dist_list[i]
37
+
38
+ String pkgdir = " pkg-${ dist} "
39
+ stage(" Prepare source for ${ dist} " ) {
40
+ sh " rm -fr ${ pkgdir} "
41
+ sh " ${ srcdir} /prepare-build.sh ${ dist} ${ pkgdir} "
42
+ }
43
+
44
+ def resultdir = " results-${ dist} "
45
+ resultdirs[dist] = resultdir
46
+
47
+ stage(" Build for ${ dist} " ) {
48
+ sh " rm -fr ${ resultdir} "
49
+ sh " mkdir -p ${ resultdir} "
50
+ dir(pkgdir) {
51
+ sh " DIST=${ dist} BRANCH=${ env.BRANCH_NAME} pdebuild --use-pdebuild-internal --debbuildopts -b --buildresult ${ WORKSPACE} /${ resultdir} "
52
+ }
53
+ archiveArtifacts artifacts : " ${ resultdir} /*.deb" , fingerprint : true
24
54
}
25
- archiveArtifacts artifacts : " ${ resultsdir} /*.deb" , fingerprint : true
26
55
}
27
56
28
- stage(" Test install on ${ dist} " ) {
29
- sh " BRANCH=${ env.BRANCH_NAME} /build/pi-builder/scripts/validate-packages.sh ${ dist} ${ resultsdir} /piaware-ble-connect_*.deb"
57
+ for (int i = 0 ; i < test_dist_arch_list. size(); ++ i) {
58
+ def dist_and_arch = test_dist_arch_list[i]
59
+ def dist = dist_and_arch[0 ]
60
+ def arch = dist_and_arch[1 ]
61
+ def resultdir = resultdirs[dist]
62
+
63
+ def test_debs = " "
64
+ for (int j = 0 ; j < test_package_list. size(); ++ j) {
65
+ test_debs + = " ${ resultdir} /${ test_package_list[j]} _*.deb "
66
+ }
67
+
68
+ stage(" Test install on ${ dist} (${ arch} )" ) {
69
+ sh " BRANCH=${ env.BRANCH_NAME} ARCH=${ arch} /build/pi-builder/scripts/validate-packages.sh ${ dist} ${ test_debs} "
70
+ }
30
71
}
31
72
32
- stage(" Deployment to internal repository" ) {
33
- sh " /build/pi-builder/scripts/deploy.sh -distribution ${ dist} -branch ${ env.BRANCH_NAME} ${ resultsdir} /*.deb"
73
+ stage(" Deploy to internal repository" ) {
74
+ for (int i = 0 ; i < build_dist_list. size(); ++ i) {
75
+ def dist = build_dist_list[i]
76
+ def resultdir = resultdirs[dist]
77
+
78
+ sh " /build/pi-builder/scripts/deploy.sh -distribution ${ dist} -branch ${ env.BRANCH_NAME} ${ resultdir} /*.deb"
79
+ }
34
80
}
35
81
}
0 commit comments