Test: Update pr-java/functional-ci work flow
#2060
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: Module functional tests | |
| 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@v3 | |
| with: | |
| distribution: 'temurin' | |
| cache: 'maven' | |
| java-version: ${{ matrix.java }} | |
| - name: Build with Maven | |
| run: mvn package -Dcheckstyle.skip -DskipUnitTests=true --file extra/pom.xml | |
| - name: Run module tests | |
| id: build | |
| run: | | |
| set +e | |
| mvn -B verify \ | |
| -DskipUnitTests=true \ | |
| -DskipFunctionalTests=true \ | |
| -DskipModuleFunctionalTests=false \ | |
| -Dtests.max-container-count=5 \ | |
| -DdockerfileName=Dockerfile-modules \ | |
| -Dcheckstyle.skip \ | |
| --file extra/pom.xml | tee build_output.txt | |
| result=${PIPESTATUS[0]} | |
| echo "exit_code=$result" >> "$GITHUB_OUTPUT" | |
| - name: Format build output for PR comment | |
| if: steps.build.outputs.exit_code != '0' | |
| run: | | |
| sed -n '/\[ERROR\] Failures:/,/\[ERROR\] Tests run:/p' build_output.txt > test_failures.txt | |
| summary=$(grep 'Tests run:' build_output.txt | tail -1) | |
| cat <<EOF > comment.txt | |
| ${author}, could you please take a look at the functional test failures? | |
| ❌ **Module Test Failures** | |
| ${summary} | |
| <details> | |
| <summary>Show failed tests details</summary> | |
| \`\`\` | |
| $(cat test_failures.txt) | |
| \`\`\` | |
| </details> | |
| EOF | |
| - 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 |