File: Jenkinsfile

package info (click to toggle)
python-confluent-kafka 2.11.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,660 kB
  • sloc: python: 30,428; ansic: 9,487; sh: 1,477; makefile: 192
file content (55 lines) | stat: -rw-r--r-- 2,284 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
def config = jobConfig {
    cron = '@midnight'
    nodeLabel = 'docker-debian-10-system-test-jdk8'
    realJobPrefixes = ['system-test-python-client']
    owner = 'client'
    slackChannel = 'clients-eng'
    timeoutHours = 3
}

def job = {
    def mavenSettingsFile = "${env.WORKSPACE_TMP}/maven-global-settings.xml"

    configureGitSSH("github/confluent_jenkins", "private_key")
    withVaultEnv([["artifactory/tools_jenkins", "user", "TOOLS_ARTIFACTORY_USER"],
        ["artifactory/tools_jenkins", "password", "TOOLS_ARTIFACTORY_PASSWORD"],
        ["sonatype/confluent", "user", "SONATYPE_OSSRH_USER"],
        ["sonatype/confluent", "password", "SONATYPE_OSSRH_PASSWORD"]]) {
        withVaultFile([["muckrake/2017-06-01", "pem", "muckrake-2017-06-01.pem", "MUCKRAKE_PEM"]]) {
            withMavenSettings("maven/jenkins_maven_global_settings", "settings", "MAVEN_GLOBAL_SETTINGS", mavenSettingsFile) {
                withMaven(globalMavenSettingsFilePath: mavenSettingsFile) {
                    stage("Run tests") {
                        sh 'tests/system/run-tests.sh'
                    }
                }
            }
        }
    }
}

def post = {
    withVaultFile([["muckrake/2017-06-01", "pem", "muckrake-2017-06-01.pem", "MUCKRAKE_PEM"]]) {
        stage('Cleanup tests') {
            sh 'tests/system/cleanup-tests.sh'
        }

        if (config.isRealJob) {
            stage('Upload test results') {
                def s3Bucket = sh(
                    script: 'python jenkins-common/scripts/system-tests/test-result-storage/get_upload_location.py ' +
                            '--project muckrake --branch python-client-' + env.BRANCH_NAME, returnStdout: true).trim()
                def resultsDir = sh(script: 'ls -tr results | tail -1', returnStdout: true).trim()

                config.testResultSpecs['ducktape'] = "results/$resultsDir/report.json"
                config.testResultSpecs['ducktape_results_url'] = "s3://$s3Bucket/$resultsDir"

                sh '''
                    tests/system/upload-tests.sh muckrake python-client-$BRANCH_NAME \
                        https://github.com/confluentinc/confluent-kafka-python tests/kafkatest/tests/client
                '''
            }
        }
    }
}

runJob config, job, post