mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 17:28:26 -04:00
[ci/stats] fix merge base detection (#67030)
Co-authored-by: spalger <spalger@users.noreply.github.com> Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
This commit is contained in:
parent
03fd149950
commit
778b01b11a
5 changed files with 58 additions and 27 deletions
|
@ -49,8 +49,7 @@ export function runFailedTestsReporterCli() {
|
|||
}
|
||||
|
||||
const isPr = !!process.env.ghprbPullId;
|
||||
const isMasterOrVersion =
|
||||
branch.match(/^(origin\/){0,1}master$/) || branch.match(/^(origin\/){0,1}\d+\.(x|\d+)$/);
|
||||
const isMasterOrVersion = branch === 'master' || branch.match(/^\d+\.(x|\d+)$/);
|
||||
if (!isMasterOrVersion || isPr) {
|
||||
log.info('Failure issues only created on master/version branch jobs');
|
||||
updateGithub = false;
|
||||
|
|
|
@ -43,7 +43,7 @@ function checkout_sibling {
|
|||
fi
|
||||
|
||||
cloneAuthor="elastic"
|
||||
cloneBranch="${PR_SOURCE_BRANCH:-${GIT_BRANCH#*/}}" # GIT_BRANCH starts with the repo, i.e., origin/master
|
||||
cloneBranch="$GIT_BRANCH"
|
||||
if clone_target_is_valid ; then
|
||||
return 0
|
||||
fi
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
set -e
|
||||
|
||||
targetBranch="${PR_TARGET_BRANCH:-${GIT_BRANCH#*/}}"
|
||||
targetBranch="${PR_TARGET_BRANCH:-$GIT_BRANCH}"
|
||||
bootstrapCache="$HOME/.kibana/bootstrap_cache/$targetBranch.tar"
|
||||
|
||||
###
|
||||
|
|
41
vars/getCheckoutInfo.groovy
Normal file
41
vars/getCheckoutInfo.groovy
Normal file
|
@ -0,0 +1,41 @@
|
|||
def call(branchOverride) {
|
||||
def repoInfo = [
|
||||
branch: branchOverride ?: env.ghprbSourceBranch,
|
||||
targetBranch: env.ghprbTargetBranch,
|
||||
]
|
||||
|
||||
if (repoInfo.branch == null) {
|
||||
if (!(params.branch_specifier instanceof String)) {
|
||||
throw new Exception(
|
||||
"Unable to determine branch automatically, either pass a branch name to getCheckoutInfo() or use the branch_specifier param."
|
||||
)
|
||||
}
|
||||
|
||||
// strip prefix from the branch specifier to make it consistent with ghprbSourceBranch
|
||||
repoInfo.branch = params.branch_specifier.replaceFirst(/^(refs\/heads\/|origin\/)/, "")
|
||||
}
|
||||
|
||||
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
|
|
@ -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()
|
||||
}
|
||||
|
||||
ciStats.reportGitInfo(
|
||||
env.ghprbSourceBranch ?: scmVars.GIT_LOCAL_BRANCH ?: scmVars.GIT_BRANCH,
|
||||
scmVars.GIT_COMMIT,
|
||||
env.ghprbTargetBranch,
|
||||
mergeBase
|
||||
)
|
||||
checkout scm
|
||||
}
|
||||
|
||||
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'),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue