diff --git a/dev-support/flaky-tests/flaky-reporting.Jenkinsfile b/dev-support/flaky-tests/flaky-reporting.Jenkinsfile index 25e3fdeef84..61894a6f73b 100644 --- a/dev-support/flaky-tests/flaky-reporting.Jenkinsfile +++ b/dev-support/flaky-tests/flaky-reporting.Jenkinsfile @@ -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' - ] } } } diff --git a/dev-support/gen_redirect_html.py b/dev-support/gen_redirect_html.py new file mode 100755 index 00000000000..0e73a571656 --- /dev/null +++ b/dev-support/gen_redirect_html.py @@ -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 " % sys.argv[0] + exit(1) + +url = sys.argv[1].replace(" ", "%20") +template = Template(""" + + + + +

Redirecting. If not work, please click this link.

+ +""") + +output = template.substitute(url = url) +print output