You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2020/08/29 06:58:47 UTC

[hbase] branch HBASE-24936 created (now 1177cfb)

This is an automated email from the ASF dual-hosted git repository.

busbey pushed a change to branch HBASE-24936
in repository https://gitbox.apache.org/repos/asf/hbase.git.


      at 1177cfb  HBASE-24936 WIP reporting test.

This branch includes the following new commits:

     new 1177cfb  HBASE-24936 WIP reporting test.

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[hbase] 01/01: HBASE-24936 WIP reporting test.

Posted by bu...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

busbey pushed a commit to branch HBASE-24936
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 1177cfb5e5afada4c0cff09b77dc0576c00ed038
Author: Sean Busbey <bu...@apache.org>
AuthorDate: Sat Aug 29 01:47:47 2020 -0500

    HBASE-24936 WIP reporting test.
---
 .../jenkins-scripts/jenkins-reporting.Jenkinsfile  | 72 ++++++++++++++++
 dev-support/jenkins-scripts/jenkins-reporting.sh   | 96 ++++++++++++++++++++++
 2 files changed, 168 insertions(+)

diff --git a/dev-support/jenkins-scripts/jenkins-reporting.Jenkinsfile b/dev-support/jenkins-scripts/jenkins-reporting.Jenkinsfile
new file mode 100644
index 0000000..871e44e
--- /dev/null
+++ b/dev-support/jenkins-scripts/jenkins-reporting.Jenkinsfile
@@ -0,0 +1,72 @@
+// 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.
+pipeline {
+  agent {
+    node {
+      label 'master'
+    }
+  }
+  triggers {
+    cron('@daily')
+  }
+  options {
+    buildDiscarder(logRotator(numToKeepStr: '30'))
+    timeout (time: 1, unit: 'HOURS')
+    timestamps()
+    skipDefaultCheckout()
+    disableConcurrentBuilds()
+  }
+  stages {
+    stage ('generate hbase website') {
+      steps {
+        dir('hbase') {
+          checkout scm
+        }
+        sh '''#!/usr/bin/env bash
+          set -e
+          printenv
+          bash hbase/dev-support/jenkins-scripts/jenkins-reporting.sh --working-dir "${WORKSPACE}" --output report.html --base-dir "${WORKSPACE}/../.."
+'''
+      }
+    }
+  }
+  post {
+    success {
+      publishHTML target: [
+        allowMissing: false,
+        keepAll: true,
+        alwaysLinkToLastBuild: true,
+        // Has to be relative to WORKSPACE
+        reportDir: ".",
+        reportFiles: 'report.html',
+        reportName: 'Build Usage Report'
+      ]
+    }
+//     failure {
+//       mail to: 'dev@hbase.apache.org', replyTo: 'dev@hbase.apache.org', subject: "Failure: HBase Build Reporting", body: """
+// Build status: ${currentBuild.currentResult}
+// 
+// The HBase build reporting failed to complete properly.
+// 
+// See ${env.BUILD_URL}console
+// """
+//     }
+    cleanup {
+      deleteDir()
+    }
+  }
+}
diff --git a/dev-support/jenkins-scripts/jenkins-reporting.sh b/dev-support/jenkins-scripts/jenkins-reporting.sh
new file mode 100644
index 0000000..5968c9b
--- /dev/null
+++ b/dev-support/jenkins-scripts/jenkins-reporting.sh
@@ -0,0 +1,96 @@
+#!/bin/bash
+# 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.
+
+set -e
+function usage {
+  echo "Usage: ${0} [options]"
+  echo ""
+  echo "    --working-dir /path/to/use     Path for writing logs and such."
+  echo "                                   defaults to making a directory via mktemp."
+  echo "    --base-dir /path/to/check      Path to summarize. defaults to current dir."
+  echo "    --output /path/to/report.html  where to write results. defaults to 'report.html' in"
+  echo "                                   the working-dir."
+  echo "    --help                         show this usage message."
+  exit 1
+}
+
+# Get arguments
+declare working_dir
+declare base_dir
+declare output
+while [ $# -gt 0 ]
+do
+  case "$1" in
+    --working-dir) shift; working_dir=$1; shift;;
+    --base-dir) shift; base_dir=$1; shift;;
+    --output) shift; output=$1; shift;;
+    --) shift; break;;
+    -*) usage ;;
+    *)  break;;  # terminate while loop
+  esac
+done
+
+if [ -z "${base_dir}" ]; then
+  base_dir="$(pwd)"
+else
+  # absolutes please
+  base_dir="$(cd "$(dirname "${base_dir}")"; pwd)/$(basename "${base_dir}")"
+  if [ ! -d "${base_dir}" ]; then
+    echo "passed base directory '${base_dir}' must already exist."
+    exit 1
+  fi
+fi
+
+if [ -z "${working_dir}" ]; then
+  echo "[DEBUG] defaulting to creating a directory via mktemp"
+  if ! working_dir="$(mktemp -d -t hbase-jenkins-reporting)" ; then
+    echo "Failed to create temporary working directory. Please specify via --working-dir"
+    exit 1
+  fi
+else
+  # absolutes please
+  working_dir="$(cd "$(dirname "${working_dir}")"; pwd)/$(basename "${working_dir}")"
+  if [ ! -d "${working_dir}" ]; then
+    echo "passed working directory '${working_dir}' must already exist."
+    exit 1
+  fi
+fi
+
+echo "You'll find logs and temp files in ${working_dir}"
+
+
+if [ -z "${output}" ]; then
+  echo "[DEBUG] defaulting to creating 'report.html' within '${working_dir}'"
+  output="${working_dir}/report.html"
+else
+  if [ ! -d "$(dirname "${output}")" ]; then
+    echo "passed output file must be in a directory that exists."
+    exit 1
+  fi
+  # absolutes please
+  output="$(cd "$(dirname "${output}")"; pwd)/$(basename "${output}")"
+fi
+cd "${working_dir}"
+cat >"${output}" <<EOF
+<html>
+  <body>
+  <pre>
+$(ls -lR "${base_dir}")
+  </pre>
+  </body>
+</html>
+EOF