Preparing hbase release 2.4.1RC1; tagging and updates to CHANGES.md again
[hbase.git] / dev-support / flaky-tests / flaky-reporting.Jenkinsfile
blob25e3fdeef841a69c529a1f572ee68dff064ada25
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   parameters {
32     booleanParam(name: 'DEBUG', defaultValue: false, description: 'Produce a lot more meta-information.')
33   }
34   stages {
35     stage ('build flaky report') {
36       steps {
37         sh '''#!/usr/bin/env bash
38           set -e
39           if [ "${DEBUG}" = "true" ]; then
40             set -x
41           fi
42           declare -a flaky_args
43           flaky_args=("${flaky_args[@]}" --urls "${JENKINS_URL}/job/HBase/job/HBase%20Nightly/job/${BRANCH_NAME}" --is-yetus True --max-builds 10)
44           flaky_args=("${flaky_args[@]}" --urls "${JENKINS_URL}/job/HBase/job/HBase-Flaky-Tests/job/${BRANCH_NAME}" --is-yetus False --max-builds 30)
45           docker build -t hbase-dev-support dev-support
46           docker run --ulimit nproc=12500 -v "${WORKSPACE}":/hbase -u `id -u`:`id -g` --workdir=/hbase hbase-dev-support \
47             python dev-support/flaky-tests/report-flakies.py --mvn -v -o output "${flaky_args[@]}"
48 '''
49       }
50     }
51   }
52   post {
53     always {
54       // Has to be relative to WORKSPACE.
55       archiveArtifacts artifacts: "output/*"
56       publishHTML target: [
57         allowMissing: true,
58         keepAll: true,
59         alwaysLinkToLastBuild: true,
60         // Has to be relative to WORKSPACE
61         reportDir: "output",
62         reportFiles: 'dashboard.html',
63         reportName: 'Flaky Test Report'
64       ]
65     }
66   }