diff --git a/.github/workflows/yetus-general-check.yml b/.github/workflows/yetus-general-check.yml index 40e9589d4020..e0ac6e06a5b1 100644 --- a/.github/workflows/yetus-general-check.yml +++ b/.github/workflows/yetus-general-check.yml @@ -21,7 +21,7 @@ name: Yetus General Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: {} @@ -58,7 +58,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -70,6 +71,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus General Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" diff --git a/.github/workflows/yetus-jdk11-hadoop3-compile-check.yml b/.github/workflows/yetus-jdk11-hadoop3-compile-check.yml index 603066ff5e5d..7a1b01e06fcf 100644 --- a/.github/workflows/yetus-jdk11-hadoop3-compile-check.yml +++ b/.github/workflows/yetus-jdk11-hadoop3-compile-check.yml @@ -21,7 +21,7 @@ name: Yetus JDK11 Hadoop3 Compile Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: {} @@ -58,7 +58,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -70,6 +71,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus JDK11 Hadoop3 Compile Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" diff --git a/.github/workflows/yetus-jdk11-hadoop3-unit-check.yml b/.github/workflows/yetus-jdk11-hadoop3-unit-check.yml index 627f610c95f5..18d9daf25bc1 100644 --- a/.github/workflows/yetus-jdk11-hadoop3-unit-check.yml +++ b/.github/workflows/yetus-jdk11-hadoop3-unit-check.yml @@ -21,7 +21,7 @@ name: Yetus JDK11 Hadoop3 Unit Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: {} @@ -77,7 +77,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -89,6 +90,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus JDK11 Hadoop3 Unit Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" diff --git a/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml b/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml index 17abf8990d9c..a28ff0192f5c 100644 --- a/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml +++ b/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml @@ -21,7 +21,7 @@ name: Yetus JDK17 Hadoop3 Compile Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: contents: read @@ -57,7 +57,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -69,6 +70,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus JDK17 Hadoop3 Compile Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" diff --git a/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml b/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml index 571b6155dc37..95502b1beb86 100644 --- a/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml +++ b/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml @@ -21,7 +21,7 @@ name: Yetus JDK17 Hadoop3 Unit Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: contents: read @@ -76,7 +76,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -88,6 +89,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus JDK17 Hadoop3 Unit Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" diff --git a/.github/workflows/yetus-jdk8-hadoop2-compile-check.yml b/.github/workflows/yetus-jdk8-hadoop2-compile-check.yml index 26b27d850356..d7aa6dc5b93e 100644 --- a/.github/workflows/yetus-jdk8-hadoop2-compile-check.yml +++ b/.github/workflows/yetus-jdk8-hadoop2-compile-check.yml @@ -21,7 +21,7 @@ name: Yetus JDK8 Hadoop2 Compile Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: {} @@ -58,7 +58,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -70,6 +71,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus JDK8 Hadoop2 Compile Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump" diff --git a/.github/workflows/yetus-jdk8-hadoop2-unit-check.yml b/.github/workflows/yetus-jdk8-hadoop2-unit-check.yml index 60f040480db9..178f21b9827a 100644 --- a/.github/workflows/yetus-jdk8-hadoop2-unit-check.yml +++ b/.github/workflows/yetus-jdk8-hadoop2-unit-check.yml @@ -21,7 +21,7 @@ name: Yetus JDK8 Hadoop2 Unit Check "on": pull_request: - types: [opened, synchronize, reopened] + types: [opened, synchronize, reopened, labeled, unlabeled] permissions: {} @@ -77,7 +77,8 @@ jobs: restore-keys: | hbase-m2- - - name: Download Yetus + - name: Download Yetus (pinned release) + if: ${{ !contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} run: | mkdir -p yetus cd yetus @@ -89,6 +90,38 @@ jobs: tar --strip-components=1 -xzf apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz rm apache-yetus-${{ env.YETUS_VERSION }}-bin.tar.gz + - name: Set up JDK 21 (prerelease, build-only) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 + with: + java-version: '21' + distribution: 'temurin' + + - name: Checkout apache/yetus@HEAD (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + repository: apache/yetus + path: yetus-src + persist-credentials: false + + - name: Build Yetus from source (prerelease) + if: ${{ contains(github.event.pull_request.labels.*.name, 'test-yetus-prerelease') }} + run: | + set -euo pipefail + YETUS_SHA="$(git -C yetus-src rev-parse HEAD)" + { + echo "## Yetus prerelease build" + echo "" + echo "- Source: \`apache/yetus@${YETUS_SHA}\`" + echo "- Triggered by \`test-yetus-prerelease\` label on this PR" + } >> "${GITHUB_STEP_SUMMARY}" + (cd yetus-src && mvn -B -DskipTests install) + mkdir -p yetus + tar --strip-components=1 \ + -xzf yetus-src/yetus-dist/target/artifacts/apache-yetus-*-bin.tar.gz \ + -C yetus + - name: Run Yetus JDK8 Hadoop2 Unit Check env: ARCHIVE_PATTERN_LIST: "TEST-*.xml,org.apache.h*.txt,*.dumpstream,*.dump"