HBASE-26341 Upload dashboard html for flaky find job to nightlies (#3742)

Signed-off-by: Yulin Niu <niuyulin@apache.org>
This commit is contained in:
Duo Zhang 2021-10-14 23:04:54 +08:00
parent 2cd3b64ca1
commit be76e17edc
2 changed files with 55 additions and 10 deletions

View File

@ -28,6 +28,9 @@ pipeline {
timeout (time: 15, unit: 'MINUTES')
timestamps()
}
environment {
ASF_NIGHTLIES = 'https://nightlies.apache.org'
}
parameters {
booleanParam(name: 'DEBUG', defaultValue: false, description: 'Produce a lot more meta-information.')
}
@ -45,7 +48,21 @@ pipeline {
docker build -t hbase-dev-support dev-support
docker run --ulimit nproc=12500 -v "${WORKSPACE}":/hbase -u `id -u`:`id -g` --workdir=/hbase hbase-dev-support \
python dev-support/flaky-tests/report-flakies.py --mvn -v -o output "${flaky_args[@]}"
'''
'''
sshPublisher(publishers: [
sshPublisherDesc(configName: 'Nightlies',
transfers: [
sshTransfer(remoteDirectory: "hbase/${JOB_NAME}/${BUILD_NUMBER}",
sourceFiles: "output/dashboard.html"
)
]
)
])
sh '''
if [ -f "output/dashboard.html" ]; then
./dev-support/gen_redirect_html.py "${ASF_NIGHTLIES}/hbase/${JOB_NAME}/${BUILD_NUMBER}/output/dashboard.html" > output/dashboard.html
fi
'''
}
}
}
@ -53,15 +70,6 @@ pipeline {
always {
// Has to be relative to WORKSPACE.
archiveArtifacts artifacts: "output/*"
publishHTML target: [
allowMissing: true,
keepAll: true,
alwaysLinkToLastBuild: true,
// Has to be relative to WORKSPACE
reportDir: "output",
reportFiles: 'dashboard.html',
reportName: 'Flaky Test Report'
]
}
}
}

View File

@ -0,0 +1,37 @@
#!/usr/bin/python
##
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import sys
from string import Template
if len(sys.argv) != 2 :
print "usage: %s <redirect url>" % sys.argv[0]
exit(1)
url = sys.argv[1].replace(" ", "%20")
template = Template("""<html>
<head>
<meta http-equiv="refresh" content="3; url='$url'" />
</head>
<body>
<p>Redirecting. If not work, please click <a href="$url">this link</a>.</p>
</body>
</html>""")
output = template.substitute(url = url)
print output