packages: linux-kernel: only build if required

This commit is contained in:
Christian Poessinger 2020-06-26 17:22:14 +02:00
parent 8cf9ac3269
commit e68de0e41f

View File

@ -62,21 +62,30 @@ pipeline {
} }
environment { environment {
DEBIAN_ARCH = sh(returnStdout: true, script: 'dpkg --print-architecture').trim() DEBIAN_ARCH = sh(returnStdout: true, script: 'dpkg --print-architecture').trim()
BASE_DIR = 'packages/linux-kernel' BASE_DIR = getJenkinsfilePath()
CHANGESET_DIR = getChangeSetPath()
} }
stages { stages {
stage('Fetch') { stage('Fetch') {
steps { steps {
script { script {
dir('build') { checkout scm
checkout scm echo env.CHANGESET_DIR
}
} }
} }
} }
stage('Git Clone - Components') { stage('Git Clone - Components') {
parallel { parallel {
stage('Kernel') { stage('Kernel') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR + '/linux') { dir(env.BASE_DIR + '/linux') {
checkout([$class: 'GitSCM', checkout([$class: 'GitSCM',
@ -84,12 +93,20 @@ pipeline {
extensions: [[$class: 'CleanCheckout'], extensions: [[$class: 'CleanCheckout'],
[$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]], [$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]],
branches: [[name: 'v4.19.128' ]], branches: [[name: 'v4.19.128' ]],
userRemoteConfigs: [[url: 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git']]]) userRemoteConfigs: [[credentialsId: 'GitHub-vyosbot', url: 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git']]])
} }
sh "pwd; ls -al"
} }
} }
stage('Kernel Firmware') { stage('Kernel Firmware') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR + '/linux-firmware') { dir(env.BASE_DIR + '/linux-firmware') {
checkout([$class: 'GitSCM', checkout([$class: 'GitSCM',
@ -97,42 +114,69 @@ pipeline {
extensions: [[$class: 'CleanCheckout'], extensions: [[$class: 'CleanCheckout'],
[$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]], [$class: 'CloneOption', depth: 1, noTags: false, reference: '', shallow: true]],
branches: [[name: '20191022' ]], branches: [[name: '20191022' ]],
userRemoteConfigs: [[url: 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git']]]) userRemoteConfigs: [[credentialsId: 'GitHub-vyosbot', url: 'https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git']]])
} }
} }
} }
stage('WireGuard') { stage('WireGuard') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR + '/wireguard') { dir(env.BASE_DIR + '/wireguard') {
checkout([$class: 'GitSCM', checkout([$class: 'GitSCM',
doGenerateSubmoduleConfigurations: false, doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CleanCheckout']], extensions: [[$class: 'CleanCheckout']],
branches: [[name: 'debian/1.0.20200319-1_bpo10+1' ]], branches: [[name: 'debian/1.0.20200319-1_bpo10+1' ]],
userRemoteConfigs: [[url: 'https://salsa.debian.org/debian/wireguard.git']]]) userRemoteConfigs: [[credentialsId: 'GitHub-vyosbot', url: 'https://salsa.debian.org/debian/wireguard.git']]])
} }
dir(env.BASE_DIR + '/wireguard-linux-compat') { dir(env.BASE_DIR + '/wireguard-linux-compat') {
checkout([$class: 'GitSCM', checkout([$class: 'GitSCM',
doGenerateSubmoduleConfigurations: false, doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CleanCheckout']], extensions: [[$class: 'CleanCheckout']],
branches: [[name: 'debian/1.0.20200429-2_bpo10+1' ]], branches: [[name: 'debian/1.0.20200429-2_bpo10+1' ]],
userRemoteConfigs: [[url: 'https://salsa.debian.org/debian/wireguard-linux-compat.git']]]) userRemoteConfigs: [[credentialsId: 'GitHub-vyosbot', url: 'https://salsa.debian.org/debian/wireguard-linux-compat.git']]])
} }
} }
} }
stage('Accel-PPP') { stage('Accel-PPP') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR + '/accel-ppp') { dir(env.BASE_DIR + '/accel-ppp') {
checkout([$class: 'GitSCM', checkout([$class: 'GitSCM',
doGenerateSubmoduleConfigurations: false, doGenerateSubmoduleConfigurations: false,
extensions: [[$class: 'CleanCheckout']], extensions: [[$class: 'CleanCheckout']],
branches: [[name: 'ed7b28722ec85' ]], branches: [[name: 'ed7b28722ec85' ]],
userRemoteConfigs: [[url: 'https://github.com/accel-ppp/accel-ppp.git']]]) userRemoteConfigs: [[credentialsId: 'GitHub-vyosbot', url: 'https://github.com/accel-ppp/accel-ppp.git']]])
} }
} }
} }
} }
} }
stage('Compile Kernel') { stage('Compile Kernel') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR) { dir(env.BASE_DIR) {
sh "./build-kernel.sh" sh "./build-kernel.sh"
@ -143,6 +187,15 @@ pipeline {
stage('Kernel Module(s)') { stage('Kernel Module(s)') {
parallel { parallel {
stage('WireGuard') { stage('WireGuard') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR) { dir(env.BASE_DIR) {
// In Debian wireguard repo commit edb7124c866ea0e506278c311fc82dfde1f957be // In Debian wireguard repo commit edb7124c866ea0e506278c311fc82dfde1f957be
@ -155,6 +208,15 @@ pipeline {
} }
} }
stage('Accel-PPP') { stage('Accel-PPP') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR) { dir(env.BASE_DIR) {
sh "./build-accel-ppp.sh" sh "./build-accel-ppp.sh"
@ -162,6 +224,15 @@ pipeline {
} }
} }
stage('Intel Driver(s)') { stage('Intel Driver(s)') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR) { dir(env.BASE_DIR) {
sh "./build-intel-drivers.sh" sh "./build-intel-drivers.sh"
@ -169,6 +240,15 @@ pipeline {
} }
} }
stage('Intel QuickAssist Technology') { stage('Intel QuickAssist Technology') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR) { dir(env.BASE_DIR) {
sh "./build-intel-qat.sh" sh "./build-intel-qat.sh"
@ -181,6 +261,15 @@ pipeline {
// again on the kernel source and this could confuse other build systems // again on the kernel source and this could confuse other build systems
// like generating Intel or Accel-PPP drivers. Better safe then sorry! // like generating Intel or Accel-PPP drivers. Better safe then sorry!
stage('Linux Firmware') { stage('Linux Firmware') {
when {
beforeOptions true
beforeAgent true
anyOf {
changeset pattern: "${env.CHANGESET_DIR}"
triggeredBy 'TimerTrigger'
triggeredBy cause: "UserIdCause"
}
}
steps { steps {
dir(env.BASE_DIR) { dir(env.BASE_DIR) {
sh "./build-linux-firmware.sh" sh "./build-linux-firmware.sh"