Skip to content
This repository has been archived by the owner on Sep 17, 2024. It is now read-only.

Commit

Permalink
fix: wrong interpolation (#1042) | chore: add debug traces for the we…
Browse files Browse the repository at this point in the history
…bhook payload (#1043) | chore: add debug info for the payload (#1044) | fix: typo in parameters (#1045) | fix: incorrect variable name (#1046) | fix: do not use GT_REPO va (#1057)

* fix: wrong interpolation (#1042)

* chore: add debug traces for the webhook payload (#1043)

* chore: add debug info for the payload (#1044)

* fix: do not use variable names as variable prefix

* chore: print payload

* fix: perform another API call to fetch PR data

We need a second API request, as the issue_comment API does not retrieve
data about the pull request. See
https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment

* fix: typo in parameters (#1045)

* fix: incorrect variable name (#1046)

* fix: do not use GT_REPO variable, use fixed repo name instead (#1049)

* fix: do not use GT_REPO variable, use fixed repo name

Because the repo is always Kibana, let's use it

* chore: remove unused echo
  • Loading branch information
mdelapenya authored Apr 20, 2021
1 parent 5f826f0 commit e68b2ef
Showing 1 changed file with 29 additions and 18 deletions.
47 changes: 29 additions & 18 deletions .ci/e2eKibana.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ pipeline {
environment {
REPO = 'kibana'
BASE_DIR = "src/github.com/elastic/${env.REPO}"
ELASTIC_REPO = "elastic/${env.REPO}"
GITHUB_APP_SECRET = 'secret/observability-team/ci/github-app'
GITHUB_CHECK_E2E_TESTS_NAME = 'E2E Tests'
PIPELINE_LOG_LEVEL = "INFO"
}
Expand All @@ -25,16 +27,14 @@ pipeline {
GenericTrigger(
genericVariables: [
[key: 'GT_REPO', value: '$.repository.full_name'],
[key: 'GT_BASE_REF', value: '$.pull_request.base.ref'],
[key: 'GT_PR', value: '$.issue.number'],
[key: 'GT_PR_HEAD_SHA', value: '$.pull_request.head.sha'],
[key: 'GT_BODY', value: '$.comment.body'],
[key: 'GT_COMMENT_ID', value: '$.comment.id']
],
genericHeaderVariables: [
[key: 'x-github-event', regexpFilter: 'comment']
],
causeString: 'Triggered on comment: $GT_BODY',
causeString: 'Triggered on #$GT_PR via comment: $GT_BODY',
printContributedVariables: false,
printPostContent: false,
silentResponse: true,
Expand Down Expand Up @@ -69,36 +69,47 @@ def checkPermissions(){
error("Only PRs from Elasticians can be tested with Fleet E2E tests")
}

if(!hasCommentAuthorWritePermissions(repoName: 'elastic/kibana', commentId: env.GT_COMMENT_ID)){
if(!hasCommentAuthorWritePermissions(repoName: "${env.ELASTIC_REPO}", commentId: env.GT_COMMENT_ID)){
error("Only Elasticians can trigger Fleet E2E tests")
}
}
}

def getBranch(){
return "PR/" + getID()
}

def getID(){
if(env.GT_PR){
return "PR/${env.GT_PR}"
return "${env.GT_PR}"
}

return "PR/${params.kibana_pr}"
return "${params.kibana_pr}"
}

def getDockerTag(){
def runE2ETests(String suite) {
// we need a second API request, as the issue_comment API does not retrieve data about the pull request
// See https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads#issue_comment
def prID = getID()
def token = githubAppToken(secret: "${env.GITHUB_APP_SECRET}")

def pullRequest = githubApiCall(token: token, url: "https://api.github.com/repos/${env.ELASTIC_REPO}/pulls/${prID}")
def baseRef = pullRequest?.base?.ref
def headSha = pullRequest?.head?.sha

// we are going to use the 'pr12345' tag as default
def dockerTag = "pr${params.kibana_pr}"
if(env.GT_PR){
return "${env.GT_PR_HEAD_SHA}"
// it's a PR: we are going to use its head SHA as tag
dockerTag = headSha
}

// we are going to use the 'pr12345' tag
return "pr${params.kibana_pr}"
}

def runE2ETests(String suite) {
log(level: 'DEBUG', text: "Triggering '${suite}' E2E tests for PR-${env.GT_PR}.")
log(level: 'DEBUG', text: "Triggering '${suite}' E2E tests for PR-${prID} using '${dockerTag}' as Docker tag")

// Kibana's maintenance branches follow the 7.11, 7.12 schema.
def branchName = "${env.GT_BASE_REF}"
if (${env.GT_BASE_REF} != "master") {
branchName = "${env.GT_BASE_REF}.x"
def branchName = "${baseRef}"
if (branchName != "master") {
branchName += ".x"
}
def e2eTestsPipeline = "e2e-tests/e2e-testing-mbp/${branchName}"

Expand All @@ -110,7 +121,7 @@ def runE2ETests(String suite) {
string(name: 'runTestsSuites', value: suite),
string(name: 'GITHUB_CHECK_NAME', value: env.GITHUB_CHECK_E2E_TESTS_NAME),
string(name: 'GITHUB_CHECK_REPO', value: env.REPO),
string(name: 'KIBANA_VERSION', value: getDockerTag()),
string(name: 'KIBANA_VERSION', value: dockerTag),
]

build(job: "${e2eTestsPipeline}",
Expand Down

0 comments on commit e68b2ef

Please sign in to comment.