This is an automated email from the ASF dual-hosted git repository.
adoroszlai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new f141e1055 RATIS-2493. Check actions with zizmor (#1426)
f141e1055 is described below
commit f141e10551a1bef69c0c7387dd184bc88e821b6d
Author: Doroszlai, Attila <[email protected]>
AuthorDate: Wed Apr 15 11:57:13 2026 +0200
RATIS-2493. Check actions with zizmor (#1426)
---
.github/dependabot.yml | 4 +--
.github/workflows/check.yaml | 29 ++++++++++-------
.github/workflows/ci.yaml | 38 +++++++++++++++-------
.github/workflows/close-stale-pr.yaml | 2 +-
.github/workflows/post-commit.yaml | 6 +++-
.github/workflows/repeat-test.yaml | 14 +++++---
.github/workflows/vulnerability-check.yaml | 15 ++++++---
.github/workflows/{post-commit.yaml => zizmor.yml} | 28 ++++++++--------
8 files changed, 86 insertions(+), 50 deletions(-)
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index d343c5a93..4ada4d982 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -23,7 +23,7 @@ updates:
interval: "cron"
cronjob: "15 9 * * *"
cooldown:
- default-days: 4
+ default-days: 7
- package-ecosystem: "maven"
directory: "/"
schedule:
@@ -31,7 +31,7 @@ updates:
interval: "cron"
cronjob: "15 10 * * *"
cooldown:
- default-days: 4
+ default-days: 7
ignore:
# requires Java 11
- dependency-name: "com.github.spotbugs:spotbugs"
diff --git a/.github/workflows/check.yaml b/.github/workflows/check.yaml
index cb3d31d1f..7d3834206 100644
--- a/.github/workflows/check.yaml
+++ b/.github/workflows/check.yaml
@@ -76,6 +76,11 @@ on:
default: 30
required: false
+ secrets:
+ DEVELOCITY_ACCESS_KEY:
+ description: 'Token for submitting build scan to Develocity'
+ required: false
+
env:
MAVEN_ARGS: --batch-mode --show-version
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.class=standard
-Dmaven.wagon.http.retryHandler.count=3
@@ -90,11 +95,13 @@ jobs:
steps:
- name: Checkout project
if: ${{ !inputs.needs-source-tarball }}
- uses: actions/checkout@v6
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
+ with:
+ persist-credentials: false
- name: Download source tarball
if: ${{ inputs.needs-source-tarball }}
- uses: actions/download-artifact@v8
+ uses:
actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: ratis-src
@@ -105,7 +112,7 @@ jobs:
- name: Create cache for Maven dependencies
if: ${{ inputs.script == 'build' }}
- uses: actions/cache@v5
+ uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
~/.m2/repository/*/*/*
@@ -116,7 +123,7 @@ jobs:
- name: Restore cache for Maven dependencies
if: ${{ inputs.script != 'build' }}
- uses: actions/cache/restore@v5
+ uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7 #
v5.0.4
with:
path: |
~/.m2/repository/*/*/*
@@ -128,7 +135,7 @@ jobs:
- name: Download Maven repo
id: download-maven-repo
if: ${{ inputs.needs-maven-repo }}
- uses: actions/download-artifact@v8
+ uses:
actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: maven-repo
path: |
@@ -136,7 +143,7 @@ jobs:
- name: Download binary tarball
if: ${{ inputs.needs-binary-tarball }}
- uses: actions/download-artifact@v8
+ uses:
actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: ratis-bin
@@ -148,7 +155,7 @@ jobs:
- name: Setup java ${{ inputs.java-version }}
if: ${{ inputs.java-version }}
- uses: actions/setup-java@v5
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #
v5.2.0
with:
distribution: 'temurin'
java-version: ${{ inputs.java-version }}
@@ -169,7 +176,7 @@ jobs:
- name: Archive build results
if: ${{ !cancelled() }}
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
# v7.0.0
with:
name: ${{ (inputs.split && format('{0}-{1}', inputs.script,
inputs.split)) || inputs.script }}
path: target/${{ inputs.script }}
@@ -179,7 +186,7 @@ jobs:
# to avoid the need for 3 more inputs.
- name: Store binaries for tests
if: ${{ inputs.script == 'build' && !cancelled() }}
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
# v7.0.0
with:
name: ratis-bin
path: |
@@ -188,7 +195,7 @@ jobs:
- name: Store source tarball for compilation
if: ${{ inputs.script == 'build' && !cancelled() }}
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
# v7.0.0
with:
name: ratis-src
path: |
@@ -197,7 +204,7 @@ jobs:
- name: Store Maven repo for tests
if: ${{ inputs.script == 'build' && !cancelled() }}
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
# v7.0.0
with:
name: maven-repo
path: |
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 272cb33d9..d8f9f8365 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -23,6 +23,15 @@ on:
description: Ratis git ref (branch, tag or commit hash)
default: ''
required: false
+ secrets:
+ DEVELOCITY_ACCESS_KEY:
+ description: 'Token for submitting build scan to Develocity'
+ required: false
+ SONARCLOUD_TOKEN:
+ description: 'Token for submitting coverage data to SonarCloud'
+ required: false
+
+permissions: { }
jobs:
build:
@@ -31,7 +40,8 @@ jobs:
script: build
script-args: -Prelease
timeout-minutes: 30
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
compile:
needs:
@@ -48,14 +58,16 @@ jobs:
script-args: -Dmaven.compiler.release=${{ matrix.java }}
split: ${{ matrix.java }}
timeout-minutes: 30
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
release:
uses: ./.github/workflows/check.yaml
with:
script: release
timeout-minutes: 30
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
repro:
needs:
@@ -66,7 +78,8 @@ jobs:
script: repro
script-args: -Prelease
timeout-minutes: 30
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
basic:
strategy:
@@ -81,7 +94,8 @@ jobs:
with:
script: ${{ matrix.check }}
timeout-minutes: 30
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
unit:
strategy:
@@ -98,7 +112,8 @@ jobs:
script-args: -P${{ matrix.profile }}-tests
split: ${{ matrix.profile }}
timeout-minutes: 60
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
coverage:
needs:
@@ -109,11 +124,12 @@ jobs:
if: github.event_name != 'pull_request'
steps:
- name: Checkout project
- uses: actions/checkout@v6
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
with:
fetch-depth: 0
+ persist-credentials: false
- name: Cache for maven dependencies
- uses: actions/cache/restore@v5
+ uses: actions/cache/restore@668228422ae6a00e4ad889ee87cd7109ec5666a7
# v5.0.4
with:
path: |
~/.m2/repository
@@ -122,12 +138,12 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java 17
- uses: actions/setup-java@v5
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #
v5.2.0
with:
distribution: 'temurin'
java-version: 17
- name: Download artifacts
- uses: actions/download-artifact@v8
+ uses:
actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: target/artifacts
- name: Untar binaries
@@ -143,7 +159,7 @@ jobs:
SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Archive build results
- uses: actions/upload-artifact@v7
+ uses:
actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
if: always()
with:
name: ${{ github.job }}
diff --git a/.github/workflows/close-stale-pr.yaml
b/.github/workflows/close-stale-pr.yaml
index 6c24bf0e5..010f0c955 100644
--- a/.github/workflows/close-stale-pr.yaml
+++ b/.github/workflows/close-stale-pr.yaml
@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-slim
steps:
- name: Close Stale PRs
- uses: actions/stale@v10
+ uses: actions/stale@b5d41d4e1d5dceea10e7104786b73624c18a190f # v10.2.0
with:
stale-pr-label: 'stale'
exempt-draft-pr: false
diff --git a/.github/workflows/post-commit.yaml
b/.github/workflows/post-commit.yaml
index 1d1ba06fd..4a946f862 100644
--- a/.github/workflows/post-commit.yaml
+++ b/.github/workflows/post-commit.yaml
@@ -27,10 +27,14 @@ concurrency:
group: ci-${{ github.event.pull_request.number || case(github.repository ==
'apache/ratis', github.sha, github.ref_name) }}
cancel-in-progress: ${{ github.event_name == 'pull_request' ||
github.repository != 'apache/ratis' }}
+permissions: { }
+
jobs:
CI:
if: github.event_name == 'pull_request'
|| github.repository == 'apache/ratis'
|| github.ref_name != 'master'
uses: ./.github/workflows/ci.yaml
- secrets: inherit
+ secrets:
+ DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
+ SONARCLOUD_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
diff --git a/.github/workflows/repeat-test.yaml
b/.github/workflows/repeat-test.yaml
index 9a985fd23..26fef26f7 100644
--- a/.github/workflows/repeat-test.yaml
+++ b/.github/workflows/repeat-test.yaml
@@ -49,6 +49,9 @@ env:
FAIL_FAST: ${{ github.event.inputs.fail-fast }}
SPLITS: ${{ github.event.inputs.splits }}
run-name: ${{ github.event_name == 'workflow_dispatch' &&
format('{0}#{1}[{2}]-{3}x{4}', inputs.test-class, inputs.test-method,
inputs.ref, inputs.splits, inputs.iterations) || '' }}
+
+permissions: { }
+
jobs:
prepare:
runs-on: ubuntu-24.04
@@ -95,11 +98,12 @@ jobs:
split: ${{ fromJson(needs.prepare.outputs.matrix) }}
fail-fast: ${{ fromJson(github.event.inputs.fail-fast) }}
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
with:
+ persist-credentials: false
ref: ${{ needs.prepare.outputs.ref }}
- name: Cache for maven dependencies
- uses: actions/cache@v5
+ uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
with:
path: |
~/.m2/repository
@@ -108,7 +112,7 @@ jobs:
restore-keys: |
maven-repo-
- name: Setup java
- uses: actions/setup-java@v5
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #
v5.2.0
with:
distribution: 'temurin'
java-version: 8
@@ -121,7 +125,7 @@ jobs:
run: dev-support/checks/_summary.sh target/unit/summary.txt
if: ${{ !cancelled() }}
- name: Archive build results
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
# v7.0.0
if: ${{ failure() }}
with:
name: result-${{ github.run_number }}-${{ github.run_id }}-split-${{
matrix.split }}
@@ -132,7 +136,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Download build results
- uses: actions/download-artifact@v8
+ uses:
actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- name: Count failures
run: |
failures=$(find . -name 'summary.txt' | grep -v 'iteration' | xargs
grep -v 'exit code: 0' | wc -l)
diff --git a/.github/workflows/vulnerability-check.yaml
b/.github/workflows/vulnerability-check.yaml
index a0146f14d..336332a84 100644
--- a/.github/workflows/vulnerability-check.yaml
+++ b/.github/workflows/vulnerability-check.yaml
@@ -29,15 +29,19 @@ env:
MAVEN_OPTS: -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false
-Dmaven.wagon.http.retryHandler.class=standard
-Dmaven.wagon.http.retryHandler.count=3
MAVEN_ARGS: --batch-mode --no-transfer-progress
+permissions: { }
+
jobs:
dependency-check:
if: ${{ github.event_name == 'workflow_dispatch' || github.repository ==
'apache/ratis' }}
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd #
v6.0.2
+ with:
+ persist-credentials: false
- name: Set up JDK 11
- uses: actions/setup-java@v5
+ uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 #
v5.2.0
with:
distribution: corretto
java-version: 11
@@ -52,13 +56,14 @@ jobs:
- name: Generate report date for artifact name
run: |
- utc_time="${{ github.run_started_at }}"
target_time=$(TZ=Asia/Shanghai date -d "$utc_time" +"%Y-%m-%d")
echo "REPORT_DATE=$target_time" >> $GITHUB_ENV
+ env:
+ utc_time: ${{ github.run_started_at }}
- name: Upload Artifact
- uses: actions/upload-artifact@v7
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
# v7.0.0
with:
name: vulnerability-check-result-${{ env.REPORT_DATE }}
path: target/dependency-check-report.html
- retention-days: 15
\ No newline at end of file
+ retention-days: 15
diff --git a/.github/workflows/post-commit.yaml b/.github/workflows/zizmor.yml
similarity index 61%
copy from .github/workflows/post-commit.yaml
copy to .github/workflows/zizmor.yml
index 1d1ba06fd..6b7263f91 100644
--- a/.github/workflows/post-commit.yaml
+++ b/.github/workflows/zizmor.yml
@@ -13,24 +13,24 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-name: build-branch
+name: zizmor
on:
push:
- branches-ignore:
- - 'dependabot/**'
- tags:
- - '**'
pull_request:
-concurrency:
- group: ci-${{ github.event.pull_request.number || case(github.repository ==
'apache/ratis', github.sha, github.ref_name) }}
- cancel-in-progress: ${{ github.event_name == 'pull_request' ||
github.repository != 'apache/ratis' }}
+permissions: { }
jobs:
- CI:
- if: github.event_name == 'pull_request'
- || github.repository == 'apache/ratis'
- || github.ref_name != 'master'
- uses: ./.github/workflows/ci.yaml
- secrets: inherit
+ zizmor:
+ runs-on: ubuntu-latest
+ permissions:
+ security-events: write
+ steps:
+ - name: Checkout project
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+ with:
+ persist-credentials: false
+
+ - name: Run zizmor
+ uses: zizmorcore/zizmor-action@b1d7e1fb5de872772f31590499237e7cce841e8e
# v0.5.3