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

PDavid pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/master by this push:
     new 3dbfe52e628 HBASE-29878 Improve the Documentation UI (addendum) - fix 
author check in nightly (#7952)
3dbfe52e628 is described below

commit 3dbfe52e628b71f3c628a117b4d2476f2713000b
Author: Dávid Paksy <[email protected]>
AuthorDate: Thu Jun 25 07:07:25 2026 +0200

    HBASE-29878 Improve the Documentation UI (addendum) - fix author check in 
nightly (#7952)
    
    Ignore files under hbase-website in author checks.
    For this we monkey-patch YETUS-1266 fix for author_postcompile function in 
our hbase-personality.sh.
    
    YETUS-1266 Escape regex metacharacters in author plugin ignore list
    
    The author_postcompile function writes --author-ignore-list entries 
directly into a grep -E filter file without escaping. Filenames containing 
regex metacharacters (parentheses, brackets, etc.) are silently misinterpreted 
as pattern syntax, causing those files to pass through unfiltered.
    
    Signed-off-by: Nick Dimiduk <[email protected]>
---
 .github/workflows/yetus-general-check.yml          |  2 +-
 .../yetus-jdk17-hadoop3-compile-check.yml          |  2 +-
 .../workflows/yetus-jdk17-hadoop3-unit-check.yml   |  2 +-
 dev-support/Jenkinsfile                            |  2 +-
 dev-support/Jenkinsfile_GitHub                     |  2 +-
 ...doop3-backwards-compatibility-check.Jenkinsfile |  2 +-
 dev-support/hbase-personality.sh                   | 51 ++++++++++++++++++++++
 7 files changed, 57 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/yetus-general-check.yml 
b/.github/workflows/yetus-general-check.yml
index 435ec80778b..d21f9e46fdd 100644
--- a/.github/workflows/yetus-general-check.yml
+++ b/.github/workflows/yetus-general-check.yml
@@ -115,7 +115,7 @@ jobs:
           SOURCEDIR: "${{ github.workspace }}/src"
           TESTS_FILTER: 
"checkstyle,javac,pylint,shellcheck,shelldocs,blanks,perlcritic,ruby-lint,rubocop"
           YETUSDIR: "${{ github.workspace }}/yetus"
-          AUTHOR_IGNORE_LIST: "src/main/asciidoc/_chapters/developer.adoc"
+          AUTHOR_IGNORE_LIST: 
"hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing/developer-guidelines.mdx,hbase-website/public/book.html"
           BLANKS_EOL_IGNORE_FILE: "dev-support/blanks-eol-ignore.txt"
           BLANKS_TABS_IGNORE_FILE: "dev-support/blanks-tabs-ignore.txt"
           EXCLUDE_TESTS_URL: 
"https://ci-hbase.apache.org/job/HBase-Find-Flaky-Tests/job/${{ github.base_ref 
}}/lastSuccessfulBuild/artifact/output/excludes"
diff --git a/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml 
b/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml
index 3c6f920f39a..552746ac6c0 100644
--- a/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml
+++ b/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml
@@ -114,7 +114,7 @@ jobs:
           SOURCEDIR: "${{ github.workspace }}/src"
           TESTS_FILTER: "javac,javadoc"
           YETUSDIR: "${{ github.workspace }}/yetus"
-          AUTHOR_IGNORE_LIST: "src/main/asciidoc/_chapters/developer.adoc"
+          AUTHOR_IGNORE_LIST: 
"hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing/developer-guidelines.mdx,hbase-website/public/book.html"
           BLANKS_EOL_IGNORE_FILE: "dev-support/blanks-eol-ignore.txt"
           BLANKS_TABS_IGNORE_FILE: "dev-support/blanks-tabs-ignore.txt"
           BUILD_THREAD: "4"
diff --git a/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml 
b/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml
index 460d187bbad..633deb9f66c 100644
--- a/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml
+++ b/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml
@@ -132,7 +132,7 @@ jobs:
           SET_JAVA_HOME: "/usr/lib/jvm/java-17"
           SOURCEDIR: "${{ github.workspace }}/src"
           YETUSDIR: "${{ github.workspace }}/yetus"
-          AUTHOR_IGNORE_LIST: "src/main/asciidoc/_chapters/developer.adoc"
+          AUTHOR_IGNORE_LIST: 
"hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing/developer-guidelines.mdx,hbase-website/public/book.html"
           BLANKS_EOL_IGNORE_FILE: "dev-support/blanks-eol-ignore.txt"
           BLANKS_TABS_IGNORE_FILE: "dev-support/blanks-tabs-ignore.txt"
           EXCLUDE_TESTS_URL: 
"https://ci-hbase.apache.org/job/HBase-Find-Flaky-Tests/job/${{ github.base_ref 
}}/lastSuccessfulBuild/artifact/output/excludes"
diff --git a/dev-support/Jenkinsfile b/dev-support/Jenkinsfile
index f22e67d04e8..bb4bcd4fb54 100644
--- a/dev-support/Jenkinsfile
+++ b/dev-support/Jenkinsfile
@@ -43,7 +43,7 @@ pipeline {
     PROJECT_PERSONALITY = 
'https://raw.githubusercontent.com/apache/hbase/master/dev-support/hbase-personality.sh'
     PERSONALITY_FILE = 'tools/personality.sh'
     // This section of the docs tells folks not to use the javadoc tag. older 
branches have our old version of the check for said tag.
-    AUTHOR_IGNORE_LIST = 'src/main/asciidoc/_chapters/developer.adoc'
+    AUTHOR_IGNORE_LIST = 
'hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing/developer-guidelines.mdx,hbase-website/public/book.html'
     BLANKS_EOL_IGNORE_FILE = 'dev-support/blanks-eol-ignore.txt'
     BLANKS_TABS_IGNORE_FILE = 'dev-support/blanks-tabs-ignore.txt'
     // output from surefire; sadly the archive function in yetus only works on 
file names.
diff --git a/dev-support/Jenkinsfile_GitHub b/dev-support/Jenkinsfile_GitHub
index c29d4f9140e..8cf5a7ab871 100644
--- a/dev-support/Jenkinsfile_GitHub
+++ b/dev-support/Jenkinsfile_GitHub
@@ -41,7 +41,7 @@ pipeline {
         GENERAL_CHECK_PLUGINS = 'all,-javadoc,-jira,-shadedjars,-unit'
         JDK_SPECIFIC_PLUGINS = 
'compile,github,htmlout,javac,javadoc,maven,mvninstall,shadedjars,unit'
         // This section of the docs tells folks not to use the javadoc tag. 
older branches have our old version of the check for said tag.
-        AUTHOR_IGNORE_LIST = 'src/main/asciidoc/_chapters/developer.adoc'
+        AUTHOR_IGNORE_LIST = 
'hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing/developer-guidelines.mdx,hbase-website/public/book.html'
         BLANKS_EOL_IGNORE_FILE = 'dev-support/blanks-eol-ignore.txt'
         BLANKS_TABS_IGNORE_FILE = 'dev-support/blanks-tabs-ignore.txt'
         // output from surefire; sadly the archive function in yetus only 
works on file names.
diff --git a/dev-support/hadoop3-backwards-compatibility-check.Jenkinsfile 
b/dev-support/hadoop3-backwards-compatibility-check.Jenkinsfile
index 8e8eff8ded3..7a26647ae34 100644
--- a/dev-support/hadoop3-backwards-compatibility-check.Jenkinsfile
+++ b/dev-support/hadoop3-backwards-compatibility-check.Jenkinsfile
@@ -135,7 +135,7 @@ pipeline {
           SKIP_ERRORPRONE = true
           OUTPUT_DIR_RELATIVE = 
"output-jdk17-hadoop3-backwards-${HADOOP3_VERSION}"
           OUTPUT_DIR = "${WORKSPACE}/${OUTPUT_DIR_RELATIVE}"
-          AUTHOR_IGNORE_LIST = 'src/main/asciidoc/_chapters/developer.adoc'
+          AUTHOR_IGNORE_LIST = 
'hbase-website/app/pages/_docs/docs/_mdx/(multi-page)/building-and-developing/developer-guidelines.mdx,hbase-website/public/book.html'
           BLANKS_EOL_IGNORE_FILE = 'dev-support/blanks-eol-ignore.txt'
           BLANKS_TABS_IGNORE_FILE = 'dev-support/blanks-tabs-ignore.txt'
           // output from surefire; sadly the archive function in yetus only 
works on file names.
diff --git a/dev-support/hbase-personality.sh b/dev-support/hbase-personality.sh
index 577f7c77deb..75a462eea5a 100755
--- a/dev-support/hbase-personality.sh
+++ b/dev-support/hbase-personality.sh
@@ -290,6 +290,57 @@ function personality_modules
   done
 }
 
+# This is a workaround to fix the author check until YETUS-1266 is released.
+# TODO: Remove this when we upgraded to Yetus having YETUS-1266!
+## @description  Check the current directory for author tags
+## @audience     private
+## @stability    evolving
+## @replaceable  no
+## @return       0 on success
+## @return       1 on failure
+function author_postcompile
+{
+  # shellcheck disable=SC2155
+  declare -r appname=$(basename "${BASH_SOURCE-$0}")
+  declare -a globalignore
+
+  if [[ "${BUILDMODE}" != full ]]; then
+    return
+  fi
+
+  big_console_header "Checking for @author tags: ${BUILDMODE}"
+
+  start_clock
+
+  if [[ -f "${PATCH_DIR}/excluded.txt" ]]; then
+    globalignore=("${GREP}" "-v" "-f" "${PATCH_DIR}/excluded.txt")
+  else
+    globalignore=("cat")
+  fi
+
+  "${GIT}" grep -n -I --extended-regexp -i -e '^[^-].*@author' \
+    | "${GREP}" -v "${appname}" \
+    | "${globalignore[@]}" \
+    >> "${PATCH_DIR}/author-tags-git.txt"
+
+  if [[ -z "${AUTHOR_IGNORE_LIST[0]}" ]]; then
+    cp -p "${PATCH_DIR}/author-tags-git.txt" "${PATCH_DIR}/${AUTHOR_LOGNAME}"
+  else
+    for i in "${AUTHOR_IGNORE_LIST[@]}"; do
+      printf "%s\n" "${i}"
+    done \
+      | "${SED}" 's/[][\\.^$*+?{}()|]/\\&/g' \
+      | "${SED}" 's/^/^/' \
+      > "${PATCH_DIR}/author-tags-filter.txt"
+    "${GREP}" -v -E \
+      -f "${PATCH_DIR}/author-tags-filter.txt" \
+      "${PATCH_DIR}/author-tags-git.txt" \
+      > "${PATCH_DIR}/${AUTHOR_LOGNAME}"
+  fi
+
+  author_generic
+}
+
 ## @description places where we override the built in assumptions about what 
tests to run
 ## @audience    private
 ## @stability   evolving

Reply via email to