From 54bba3a9530aba60801e54fc89b76daa2233b125 Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Tue, 20 Jan 2026 07:57:45 +0100 Subject: [PATCH 1/2] HBASE-29838 Run Hadoop Check as a GitHub Action --- .../workflows/yetus-jdk17-hadoop3-check.yml | 103 ++++++++++++++++++ dev-support/hbase-personality.sh | 7 +- 2 files changed, 107 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/yetus-jdk17-hadoop3-check.yml diff --git a/.github/workflows/yetus-jdk17-hadoop3-check.yml b/.github/workflows/yetus-jdk17-hadoop3-check.yml new file mode 100644 index 000000000000..ccf23a8156bd --- /dev/null +++ b/.github/workflows/yetus-jdk17-hadoop3-check.yml @@ -0,0 +1,103 @@ +# 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. + +# yamllint disable rule:line-length +--- +name: Yetus JDK17 Hadoop3 Check + +"on": + pull_request: + types: [opened, synchronize, reopened] + +permissions: + contents: read + statuses: write + +jobs: + jdk17-hadoop3-check: + runs-on: ubuntu-latest + timeout-minutes: 600 + + env: + YETUS_VERSION: '0.15.0' + + steps: + - name: Checkout HBase + uses: actions/checkout@v4 + with: + path: src + fetch-depth: 0 + + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Maven cache + uses: actions/cache@v4 + with: + path: ~/.m2 + key: hbase-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: | + hbase-m2- + + - name: Download Yetus + run: | + mkdir -p yetus + cd yetus + bash "${{ github.workspace }}/src/dev-support/jenkins-scripts/cache-apache-project-artifact.sh" \ + --keys 'https://downloads.apache.org/yetus/KEYS' \ + --verify-tar-gz \ + ./apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz \ + yetus/${{ env.YETUS_VERSION }}/apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + + - name: Run Yetus JDK17 Hadoop3 Check + env: + ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" + DOCKERFILE: "${{ github.workspace }}/src/dev-support/docker/Dockerfile" + GITHUB_PASSWORD: ${{ secrets.GITHUB_TOKEN }} + GITHUB_USER: ${{ github.actor }} + PATCHDIR: "${{ github.workspace }}/yetus-jdk17-hadoop3-check/output" + PLUGINS: "compile,github,htmlout,javac,javadoc,maven,mvninstall,shadedjars,unit" + SET_JAVA_HOME: "/usr/lib/jvm/java-17" + SOURCEDIR: "${{ github.workspace }}/src" + TESTS_FILTER: "checkstyle,javac,javadoc,pylint,shellcheck,shelldocs,blanks,perlcritic,ruby-lint,rubocop" + YETUSDIR: "${{ github.workspace }}/yetus" + AUTHOR_IGNORE_LIST: "src/main/asciidoc/_chapters/developer.adoc" + 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" + BUILD_THREAD: "4" + SUREFIRE_FIRST_PART_FORK_COUNT: "1.0C" + SUREFIRE_SECOND_PART_FORK_COUNT: "0.5C" + BRANCH_NAME: "${{ github.base_ref }}" + SKIP_ERRORPRONE: 'true' + DEBUG: 'true' + run: | + cd "${{ github.workspace }}" + bash src/dev-support/jenkins_precommit_github_yetus.sh + + - name: Publish Test Results + if: always() + uses: actions/upload-artifact@v4 + with: + name: yetus-jdk17-hadoop3-check-output + path: ${{ github.workspace }}/yetus-jdk17-hadoop3-check/output + retention-days: 7 diff --git a/dev-support/hbase-personality.sh b/dev-support/hbase-personality.sh index 5900bab072e0..5540fd9b71ba 100755 --- a/dev-support/hbase-personality.sh +++ b/dev-support/hbase-personality.sh @@ -520,12 +520,13 @@ function shadedjars_rebuild count=$(${GREP} -c '\[ERROR\]' "${logfile}") if [[ ${count} -gt 0 ]]; then - add_vote_table -1 shadedjars "${repostatus} has ${count} errors when building our shaded downstream artifacts." - add_footer_table shadedjars "@@BASE@@/${repostatus}-shadedjars.txt" + add_vote_table_v2 -1 shadedjars \ + "@@BASE@@/${repostatus}-shadedjars.txt" \ + "${repostatus} has ${count} errors when building our shaded downstream artifacts." return 1 fi - add_vote_table +1 shadedjars "${repostatus} has no errors when building our shaded downstream artifacts." + add_vote_table_v2 +1 shadedjars "" "${repostatus} has no errors when building our shaded downstream artifacts." return 0 } From 1829212be461570ad1fa68ef0e081c8191e8a5af Mon Sep 17 00:00:00 2001 From: Nick Dimiduk Date: Tue, 20 Jan 2026 08:47:19 +0100 Subject: [PATCH 2/2] break a test --- .../src/test/java/org/apache/hadoop/hbase/types/TestPBCell.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hbase-examples/src/test/java/org/apache/hadoop/hbase/types/TestPBCell.java b/hbase-examples/src/test/java/org/apache/hadoop/hbase/types/TestPBCell.java index 413c580e70df..6df77f17d045 100644 --- a/hbase-examples/src/test/java/org/apache/hadoop/hbase/types/TestPBCell.java +++ b/hbase-examples/src/test/java/org/apache/hadoop/hbase/types/TestPBCell.java @@ -52,6 +52,6 @@ public void testRoundTrip() { pbr.setPosition(0); CellMessage.Cell decoded = CODEC.decode(pbr); assertEquals(encodedLength, pbr.getPosition()); - assertEquals("row", decoded.getRow().toStringUtf8()); + assertEquals("rows", decoded.getRow().toStringUtf8()); } }