HBASE-26921 Rewrite the counting cells part in TestMultiVersions (#4316)
[hbase.git] / dev-support / flaky-tests / flaky-reporting.Jenkinsfile
blobb37045b3a6c29366c734cb95cc08a4dc14265dc4
1 // Licensed to the Apache Software Foundation (ASF) under one
2 // or more contributor license agreements.  See the NOTICE file
3 // distributed with this work for additional information
4 // regarding copyright ownership.  The ASF licenses this file
5 // to you under the Apache License, Version 2.0 (the
6 // "License"); you may not use this file except in compliance
7 // with the License.  You may obtain a copy of the License at
8 //
9 //   http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing,
12 // software distributed under the License is distributed on an
13 // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 // KIND, either express or implied.  See the License for the
15 // specific language governing permissions and limitations
16 // under the License.
17 pipeline {
18   agent {
19     node {
20       label 'hbase'
21     }
22   }
23   triggers {
24     cron('@daily')
25   }
26   options {
27     buildDiscarder(logRotator(numToKeepStr: '50'))
28     timeout (time: 15, unit: 'MINUTES')
29     timestamps()
30   }
31   environment {
32     ASF_NIGHTLIES = 'https://nightlies.apache.org'
33   }
34   parameters {
35     booleanParam(name: 'DEBUG', defaultValue: false, description: 'Produce a lot more meta-information.')
36   }
37   stages {
38     stage ('build flaky report') {
39       steps {
40         sh '''#!/usr/bin/env bash
41           set -e
42           if [ "${DEBUG}" = "true" ]; then
43             set -x
44           fi
45           declare -a flaky_args
46           flaky_args=("${flaky_args[@]}" --urls "${JENKINS_URL}/job/HBase%20Nightly/job/${BRANCH_NAME}" --is-yetus True --max-builds 20)
47           flaky_args=("${flaky_args[@]}" --urls "${JENKINS_URL}/job/HBase-Flaky-Tests/job/${BRANCH_NAME}" --is-yetus False --max-builds 50)
48           docker build -t hbase-dev-support dev-support
49           docker run --ulimit nproc=12500 -v "${WORKSPACE}":/hbase -u `id -u`:`id -g` --workdir=/hbase hbase-dev-support \
50             python dev-support/flaky-tests/report-flakies.py --mvn -v -o output "${flaky_args[@]}"
51         '''
52         sshPublisher(publishers: [
53           sshPublisherDesc(configName: 'Nightlies',
54             transfers: [
55               sshTransfer(remoteDirectory: "hbase/${JOB_NAME}/${BUILD_NUMBER}",
56                 sourceFiles: "output/dashboard.html"
57               )
58             ]
59           )
60         ])
61         sh '''
62           if [ -f "output/dashboard.html" ]; then
63             ./dev-support/gen_redirect_html.py "${ASF_NIGHTLIES}/hbase/${JOB_NAME}/${BUILD_NUMBER}/output/dashboard.html" > output/dashboard.html
64           fi
65         '''
66       }
67     }
68   }
69   post {
70     always {
71       // Has to be relative to WORKSPACE.
72       archiveArtifacts artifacts: "output/*"
73     }
74   }