From 9eaf0c050a45a321e588ce5ac54911dddb093324 Mon Sep 17 00:00:00 2001 From: Spencer Date: Tue, 19 May 2020 07:00:47 -0700 Subject: [PATCH] [ci/stats] fix git metadata collection (#66840) --- vars/getCheckoutInfo.groovy | 31 +++++++++++++++++++++++++++++++ vars/workers.groovy | 35 +++++++++++++---------------------- 2 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 vars/getCheckoutInfo.groovy diff --git a/vars/getCheckoutInfo.groovy b/vars/getCheckoutInfo.groovy new file mode 100644 index 00000000000000..3d63c5b0ee4926 --- /dev/null +++ b/vars/getCheckoutInfo.groovy @@ -0,0 +1,31 @@ +def call() { + + def repoInfo = [ + branch: env.ghprbSourceBranch ?: params.branch_specifier ?: null, + targetBranch: env.ghprbTargetBranch, + ] + + repoInfo.commit = sh( + script: "git rev-parse HEAD", + label: "determining checked out sha", + returnStdout: true + ).trim() + + if (repoInfo.targetBranch) { + sh( + script: "git fetch origin ${repoInfo.targetBranch}", + label: "fetch latest from '${repoInfo.targetBranch}' at origin" + ) + repoInfo.mergeBase = sh( + script: "git merge-base HEAD FETCH_HEAD", + label: "determining merge point with '${repoInfo.targetBranch}' at origin", + returnStdout: true + ).trim() + } + + print "repoInfo: ${repoInfo}" + + return repoInfo +} + +return this diff --git a/vars/workers.groovy b/vars/workers.groovy index b4e4a115f20111..9ddcecfde99c0a 100644 --- a/vars/workers.groovy +++ b/vars/workers.groovy @@ -51,33 +51,24 @@ def base(Map params, Closure closure) { } } - def scmVars = [:] + def checkoutInfo = [:] if (config.scm) { // Try to clone from Github up to 8 times, waiting 15 secs between attempts retryWithDelay(8, 15) { - scmVars = checkout scm - - def mergeBase - if (env.ghprbTargetBranch) { - sh( - script: "cd kibana && git fetch origin ${env.ghprbTargetBranch}", - label: "update reference to target branch 'origin/${env.ghprbTargetBranch}'" - ) - mergeBase = sh( - script: "cd kibana && git merge-base HEAD FETCH_HEAD", - label: "determining merge point with target branch 'origin/${env.ghprbTargetBranch}'", - returnStdout: true - ).trim() - } + checkout scm + } - ciStats.reportGitInfo( - env.ghprbSourceBranch ?: scmVars.GIT_LOCAL_BRANCH ?: scmVars.GIT_BRANCH, - scmVars.GIT_COMMIT, - env.ghprbTargetBranch, - mergeBase - ) + dir("kibana") { + checkoutInfo = getCheckoutInfo() } + + ciStats.reportGitInfo( + checkoutInfo.branch, + checkoutInfo.commit, + checkoutInfo.targetBranch, + checkoutInfo.mergeBase + ) } withEnv([ @@ -87,7 +78,7 @@ def base(Map params, Closure closure) { "PR_TARGET_BRANCH=${env.ghprbTargetBranch ?: ''}", "PR_AUTHOR=${env.ghprbPullAuthorLogin ?: ''}", "TEST_BROWSER_HEADLESS=1", - "GIT_BRANCH=${scmVars.GIT_BRANCH ?: ''}", + "GIT_BRANCH=${checkoutInfo.branch ?: ''}", ]) { withCredentials([ string(credentialsId: 'vault-addr', variable: 'VAULT_ADDR'),