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

ndimiduk pushed a commit to branch branch-3
in repository https://gitbox.apache.org/repos/asf/hbase.git


The following commit(s) were added to refs/heads/branch-3 by this push:
     new 986eef48e20 HBASE-29893 Add zizmor for GitHub Actions workflows 
security analysis (#7742)
986eef48e20 is described below

commit 986eef48e205c55e4e27b441948c9bb0d40c8d20
Author: Nick Dimiduk <[email protected]>
AuthorDate: Fri Mar 6 10:35:15 2026 +0100

    HBASE-29893 Add zizmor for GitHub Actions workflows security analysis 
(#7742)
    
    Signed-off-by: Dávid Paksy <[email protected]>
    Signed-off-by: Duo Zhang <[email protected]>
---
 .github/workflows/yetus-general-check.yml          | 44 ++++++++++++++++++----
 .../yetus-jdk17-hadoop3-compile-check.yml          |  9 +++--
 .../workflows/yetus-jdk17-hadoop3-unit-check.yml   |  9 +++--
 3 files changed, 47 insertions(+), 15 deletions(-)

diff --git a/.github/workflows/yetus-general-check.yml 
b/.github/workflows/yetus-general-check.yml
index ecaf94c1942..7b81b69ca46 100644
--- a/.github/workflows/yetus-general-check.yml
+++ b/.github/workflows/yetus-general-check.yml
@@ -23,33 +23,35 @@ name: Yetus General Check
   pull_request:
     types: [opened, synchronize, reopened]
 
-permissions:
-  contents: read
-  statuses: write
+permissions: {}
 
 jobs:
   general-check:
     runs-on: ubuntu-latest
     timeout-minutes: 600
+    permissions:
+      contents: read
+      statuses: write
 
     env:
       YETUS_VERSION: '0.15.0'
 
     steps:
       - name: Checkout HBase
-        uses: actions/checkout@v4
+        uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # 
v4.3.1
         with:
           path: src
           fetch-depth: 0
+          persist-credentials: false
 
       - name: Set up JDK 17
-        uses: actions/setup-java@v4
+        uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # 
v4.8.0
         with:
           java-version: '17'
           distribution: 'temurin'
 
       - name: Maven cache
-        uses: actions/cache@v4
+        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
         with:
           path: ~/.m2
           key: hbase-m2-${{ hashFiles('**/pom.xml') }}
@@ -101,8 +103,36 @@ jobs:
 
       - name: Publish Test Results
         if: always()
-        uses: actions/upload-artifact@v4
+        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 
# v4.6.2
         with:
           name: yetus-general-check-output
           path: ${{ github.workspace }}/yetus-general-check/output
           retention-days: 7
+
+  zizmor:
+    runs-on: ubuntu-latest
+    timeout-minutes: 5
+    permissions:
+      contents: read
+
+    steps:
+      - name: Check for workflow changes
+        id: changes
+        env:
+          GH_TOKEN: ${{ github.token }}
+        run: |
+          if gh pr diff "${{ github.event.pull_request.number }}" --repo "${{ 
github.repository }}" --name-only | grep -q '^\.github/workflows/'; then
+            echo "changed=true" >> "$GITHUB_OUTPUT"
+          else
+            echo "changed=false" >> "$GITHUB_OUTPUT"
+          fi
+
+      - name: Checkout HBase
+        if: steps.changes.outputs.changed == 'true'
+        uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # 
v4.3.1
+        with:
+          persist-credentials: false
+
+      - name: Run zizmor
+        if: steps.changes.outputs.changed == 'true'
+        run: pipx run zizmor --min-severity=medium .github/workflows/
diff --git a/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml 
b/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml
index 8d41b86b99e..624a393d3ab 100644
--- a/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml
+++ b/.github/workflows/yetus-jdk17-hadoop3-compile-check.yml
@@ -37,19 +37,20 @@ jobs:
 
     steps:
       - name: Checkout HBase
-        uses: actions/checkout@v4
+        uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # 
v4.3.1
         with:
           path: src
           fetch-depth: 0
+          persist-credentials: false
 
       - name: Set up JDK 17
-        uses: actions/setup-java@v4
+        uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # 
v4.8.0
         with:
           java-version: '17'
           distribution: 'temurin'
 
       - name: Maven cache
-        uses: actions/cache@v4
+        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
         with:
           path: ~/.m2
           key: hbase-m2-${{ hashFiles('**/pom.xml') }}
@@ -99,7 +100,7 @@ jobs:
 
       - name: Publish Results
         if: always()
-        uses: actions/upload-artifact@v4
+        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 
# v4.6.2
         with:
           name: yetus-jdk17-hadoop3-compile-check-output
           path: ${{ github.workspace 
}}/yetus-jdk17-hadoop3-compile-check/output
diff --git a/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml 
b/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml
index f29acabb529..35e5b976e3c 100644
--- a/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml
+++ b/.github/workflows/yetus-jdk17-hadoop3-unit-check.yml
@@ -56,19 +56,20 @@ jobs:
 
     steps:
       - name: Checkout HBase
-        uses: actions/checkout@v4
+        uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # 
v4.3.1
         with:
           path: src
           fetch-depth: 0
+          persist-credentials: false
 
       - name: Set up JDK 17
-        uses: actions/setup-java@v4
+        uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # 
v4.8.0
         with:
           java-version: '17'
           distribution: 'temurin'
 
       - name: Maven cache
-        uses: actions/cache@v4
+        uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
         with:
           path: ~/.m2
           key: hbase-m2-${{ hashFiles('**/pom.xml') }}
@@ -121,7 +122,7 @@ jobs:
 
       - name: Publish Test Results
         if: always()
-        uses: actions/upload-artifact@v4
+        uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 
# v4.6.2
         with:
           name: yetus-jdk17-hadoop3-unit-check-${{ matrix.name }}
           path: ${{ github.workspace }}/yetus-jdk17-hadoop3-unit-check/output

Reply via email to