Skip to content

Commit

Permalink
Capture more dumps on failure.
Browse files Browse the repository at this point in the history
Capture *.hprof, hs_err_pid*, replay_pid*, and core.NNNN on failure.
  • Loading branch information
gianm committed Oct 25, 2024
1 parent 7e8671c commit 6dc7a2d
Showing 1 changed file with 12 additions and 9 deletions.
21 changes: 12 additions & 9 deletions .github/workflows/reusable-unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -117,23 +117,26 @@ jobs:
MAVEN_PROJECTS: ${{ inputs.maven_projects }}
run: ./.github/scripts/unit_tests_script.sh

- name: Check for .hprof files on failure
- name: Check for dumps on failure
if: ${{ failure() }}
id: check_for_heap_dump
id: check_for_dumps
run: |
if ls ${GITHUB_WORKSPACE}/target/*.hprof 1> /dev/null 2>&1; then
echo "found_hprof=true" >> "$GITHUB_ENV"
if test -n "$(find "${GITHUB_WORKSPACE}" \( -name '*.hprof' -or -name 'hs_err_pid*' -or 'replay_pid*' -or -regex '.*/core\.[0-9]*' \))"
then
echo "found_dumps=true" >> "$GITHUB_ENV"
else
echo "found_hprof=false" >> "$GITHUB_ENV"
echo "found_dumps=false" >> "$GITHUB_ENV"
fi
- name: Collect tarball hprof dumps if they exist on failure
if: ${{ failure() && env.found_hprof == 'true' }}
- name: Collect dumps if they exist on failure
if: ${{ failure() && env.found_dumps == 'true' }}
run: |
tar cvzf ${RUNNER_TEMP}/hprof-dumps.tgz ${GITHUB_WORKSPACE}/target/*.hprof
find "${GITHUB_WORKSPACE}"
\( -name '*.hprof' -or -name 'hs_err_pid*' -or 'replay_pid*' -or -regex '.*/core\.[0-9]*' \)
-exec tar -cvzf ${RUNNER_TEMP}/hprof-dumps.tgz {} \;
- name: Upload hprof dumps to GitHub if they exist on failure
if: ${{ failure() && env.found_hprof == 'true' }}
if: ${{ failure() && env.found_dumps == 'true' }}
uses: actions/upload-artifact@master
with:
name: Hprof-${{ inputs.group }} hprof dumps (Compile=jdk${{ inputs.build_jdk }}, Run=jdk${{ inputs.runtime_jdk }})
Expand Down

0 comments on commit 6dc7a2d

Please sign in to comment.