feat: use `maven-reusable.yml` workflow
Replaces the local `maven.yml` workflow with the shared `maven-reusable.yml` from `commons-parent`.
This simplifies maintenance and ensures consistency across Commons projects, eliminating the need to update this workflow unless breaking changes occur.
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index aabe25e..3328892 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -15,40 +15,16 @@
name: Java CI
-on: [push, pull_request]
+on:
+ push:
+ # TODO: remove "feat/reusable-workflow" branch before merging.
+ branches: [ "master", "release", "feat/reusable-workflow" ]
+ pull_request: { }
-permissions:
- contents: read
+# Explicitly drop all permissions for security.
+permissions: { }
jobs:
build:
-
- runs-on: ${{ matrix.os }}
- continue-on-error: ${{ matrix.experimental }}
- strategy:
- matrix:
- os: [ubuntu-latest, windows-latest, macos-13]
- java: [ 8, 11, 17, 21, 25 ]
- experimental: [false]
- include:
- - java: 26-ea
- experimental: true
- os: ubuntu-latest
-
- steps:
- - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- with:
- persist-credentials: false
- - uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
- - name: Set up JDK ${{ matrix.java }}
- uses: actions/setup-java@dded0888837ed1f317902acf8a20df0ad188d165 # v5.0.0
- with:
- distribution: 'temurin'
- java-version: ${{ matrix.java }}
- - name: Build with Maven
- run: mvn --errors --show-version --batch-mode --no-transfer-progress -Ddoclint=all
+ # Intentionally not pinned: maintained by the same PMC.
+ uses: apache/commons-parent/.github/workflows/maven-reusable.yml@feat/reusable-workflow