Test: Update pr-java/functional-ci work flow
#5009
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Java CI | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - 'docs/**' | |
| - '.github/**' | |
| branches: | |
| - master | |
| release: | |
| types: | |
| - created | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| java: [ 21 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| cache: 'maven' | |
| cache-dependency-path: extra/pom.xml | |
| java-version: ${{ matrix.java }} | |
| - name: Build with Maven | |
| id: build | |
| run: | | |
| mvn -B package --file extra/pom.xml | tee build_output.txt | |
| echo "exit_code=$result" >> "$GITHUB_OUTPUT" | |
| - name: Format build output for PR comment | |
| if: steps.build.outputs.exit_code != '0' | |
| run: | | |
| if grep -q '\[INFO\] Starting audit\.\.\.' build_output.txt; then | |
| { | |
| echo "❌ **Checkstyle Issues Detected**" | |
| echo "" | |
| echo '```' | |
| sed -n '/\[INFO\] Starting audit\.\.\./,/Audit done\./p' build_output.txt | sed '1d' \| sed '0,/Audit done\./d' | |
| echo '```' | |
| } > comment.txt | |
| else | |
| { | |
| echo "❌ **Java CI Test Failures**" | |
| echo "" | |
| echo '```' | |
| sed -n '/\[ERROR\] Failures:/,/\[ERROR\] Tests run:/p' build_output.txt | |
| echo '```' | |
| } > comment.txt | |
| fi | |
| - name: Comment on PR with build failure output | |
| if: steps.build.outputs.exit_code != '0' | |
| uses: peter-evans/create-or-update-comment@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| issue-number: ${{ github.event.pull_request.number }} | |
| body-path: comment.txt | |
| - name: Fail if error is found in logs | |
| if: steps.build.outputs.exit_code != '0' | |
| run: exit 1 |