From d6f7909c7639105c93e0670999e6f0536e9f6fff Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sun, 11 Aug 2019 17:26:26 +0200 Subject: [PATCH] Jenkinsfile: run DCO check before everything else This will run the DCO check in a lightweight alpine container, before running other stages, and before building the development image/container (which can take a long time). A Jenkins parameter was added to optionally skip the DCO check (skip_dco) Signed-off-by: Sebastiaan van Stijn --- Jenkinsfile | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 7269135415..f7e529c946 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -14,6 +14,7 @@ pipeline { booleanParam(name: 'powerpc', defaultValue: true, description: 'PowerPC (ppc64le) Build/Test') booleanParam(name: 'windowsRS1', defaultValue: false, description: 'Windows 2016 (RS1) Build/Test') booleanParam(name: 'windowsRS5', defaultValue: false, description: 'Windows 2019 (RS5) Build/Test') + booleanParam(name: 'skip_dco', defaultValue: false, description: 'Skip the DCO check') } environment { DOCKER_BUILDKIT = '1' @@ -24,6 +25,20 @@ pipeline { TIMEOUT = '120m' } stages { + stage('DCO-check') { + when { + beforeAgent true + expression { !params.skip_dco } + } + agent { label 'linux' } + steps { + sh ''' + docker run --rm \ + -v "$WORKSPACE:/workspace" \ + alpine sh -c 'apk add --no-cache -q git bash && cd /workspace && hack/validate/dco' + ''' + } + } stage('Build') { parallel { stage('unit-validate') {