Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/yetus-general-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,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: "dev-support/hbase-personality.sh,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"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/yetus-jdk17-hadoop3-compile-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,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: "dev-support/hbase-personality.sh,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"
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/yetus-jdk17-hadoop3-unit-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,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: "dev-support/hbase-personality.sh,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"
Expand Down
2 changes: 1 addition & 1 deletion dev-support/Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
2 changes: 1 addition & 1 deletion dev-support/Jenkinsfile_GitHub
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
118 changes: 118 additions & 0 deletions dev-support/hbase-personality.sh
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,124 @@ function personality_modules
done
}

# This is a workaround to fix the author check until YETUS-1266 is released.
# TODO: Remove these monkey-patches when we upgrade to a Yetus version with YETUS-1266!

## @description Check the patchfile for @author tags (patch mode), with AUTHOR_IGNORE_LIST support
## @audience private
## @stability evolving
## @replaceable no
## @return 0 on success
## @return 1 on failure
## @param patchfile
function author_patchfile
{
declare patchfile=$1
# shellcheck disable=SC2155
declare -r appname=$(basename "${BASH_SOURCE-$0}")
declare i

if [[ "${BUILDMODE}" != patch ]]; then
return
fi

big_console_header "Checking for @author tags: ${BUILDMODE}"

start_clock

for i in "${CHANGED_FILES[@]}"; do
if [[ ${i} =~ ${appname} ]]; then
echo "Skipping @author checks as ${appname} has been patched."
add_vote_table_v2 0 @author "" "Skipping @author checks as ${appname} has been patched."
return 0
fi
done

if [[ -z "${AUTHOR_IGNORE_LIST[0]}" ]]; then
"${GREP}" -i -n '^[^-].*@author' "${patchfile}" >> "${PATCH_DIR}/${AUTHOR_LOGNAME}"
else
local ignore_csv=""
for i in "${AUTHOR_IGNORE_LIST[@]}"; do
if [[ -n "${ignore_csv}" ]]; then
ignore_csv="${ignore_csv},"
fi
ignore_csv="${ignore_csv}${i}"
done

# Filter the patchfile: skip diff sections belonging to ignored files
"${AWK}" -v ignore_list="${ignore_csv}" "
BEGIN {
n = split(ignore_list, files, \",\")
skip = 0
}
/^diff --git / {
skip = 0
for (i = 1; i <= n; i++) {
if (index($0, files[i]) > 0) {
skip = 1
break
}
}
}
!skip { print }
" "${patchfile}" > "${PATCH_DIR}/author-filtered-patch.txt"

"${GREP}" -i -n '^[^-].*@author' "${PATCH_DIR}/author-filtered-patch.txt" \
>> "${PATCH_DIR}/${AUTHOR_LOGNAME}"
fi

author_generic
}

## @description Check the current directory for @author tags (full/nightly mode)
## @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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@

/**
* This test checks whether backups properly track & manage bulk files loads.
* @author john.smith@example.com
*/
@Tag(LargeTests.TAG)
public class TestIncrementalBackupWithBulkLoad extends TestBackupBase {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@
* first fill the proc:d column with an empty byte array, and then actually delete them in the
* {@link #cleanup()} method. This is because that we need to retain the max procedure id, so we can
* not directly delete a procedure row as we do not know if it is the one with the max procedure id.
* @author Jane Doe
*/
@InterfaceAudience.Private
public class RegionProcedureStore extends ProcedureStoreBase {
Expand Down
Loading