on xenial help sign in
Update Jenkinsfile to allow building on arm64
40ff0c9Marius Gripsgard
Jenkinsfile+25−11
@@ -12,25 +12,37 @@ pipeline {
12 steps {
12 steps {
13 parallel(
13 parallel(
14 "Build binary - armhf": {
14 "Build binary - armhf": {
15− node(label: 'xenial-arm64') {
15+ node(label: 'arm64') {
16+ cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
16 unstash 'source'
17 unstash 'source'
17 sh '''export architecture="armhf"
18 sh '''export architecture="armhf"
18build-binary.sh'''
19build-binary.sh'''
19− stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build')
20+ stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build-armhf')
20 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
21 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
21 }
22 }
22
23
23
24
24 },
25 },
25− "Build binary - all": {
26+ "Build binary - arm64": {
26− node(label: 'xenial-arm64') {
27+ node(label: 'arm64') {
28+ cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
27 unstash 'source'
29 unstash 'source'
28− sh '''export architecture="armhf"
30+ sh '''export architecture="arm64"
29− export DEBBUILDOPTS="-A"
31+ export DEBBUILDOPTS="-sa"
30 export SKIP_ARCH_BUILD=false
32 export SKIP_ARCH_BUILD=false
31 export SKIP_SOURCE_REMOVAL=true
33 export SKIP_SOURCE_REMOVAL=true
32 build-binary.sh'''
34 build-binary.sh'''
33− stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build-all')
35+ stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build-arm64')
36+ cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
37+ }
38+ },
39+ "Build binary - amd64": {
40+ node(label: 'amd64') {
41+ cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
42+ unstash 'source'
43+ sh '''export architecture="amd64"
44+ #build-binary.sh'''
45+ stash(includes: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo,lintian.txt', name: 'build-amd64')
34 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
46 cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
35 }
47 }
36 }
48 }
@@ -39,11 +51,12 @@ build-binary.sh'''
39 }
51 }
40 stage('Results') {
52 stage('Results') {
41 steps {
53 steps {
54+ cleanWs(cleanWhenAborted: true, cleanWhenFailure: true, cleanWhenNotBuilt: true, cleanWhenSuccess: true, cleanWhenUnstable: true, deleteDirs: true)
42− unstash 'build'
55+ unstash 'build-armhf'
43− unstash 'build-all'
56+ unstash 'build-arm64'
57+ unstash 'build-amd64'
44 archiveArtifacts(artifacts: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo', fingerprint: true, onlyIfSuccessful: true)
58 archiveArtifacts(artifacts: '*.gz,*.bz2,*.xz,*.deb,*.dsc,*.changes,*.buildinfo', fingerprint: true, onlyIfSuccessful: true)
45− sh '''export architecture="armhf"
46−/usr/bin/build-repo.sh'''
59+ sh '''/usr/bin/build-repo.sh'''
47 }
60 }
48 }
61 }
49 stage('Cleanup') {
62 stage('Cleanup') {
@@ -53,3 +66,4 @@ build-binary.sh'''
53 }
66 }
54 }
67 }
55}
68}
69+