Files
setup-godot/.gdunit4_action/check-coredump/action.yml

55 lines
1.5 KiB
YAML

name: check-coredump
description: "Checks for created coredumps"
inputs:
artifact-name:
description: "Name of artifact to upload."
required: true
runs:
using: composite
steps:
- name: "Check for existing coredumps"
shell: bash
if: always()
id: collectlogs
# we have actual no debug infos and coredumpctl gdb will fail, we just ignore for this for the moment
continue-on-error: true
run: |
# wait for in progress coredumps
sleep 10
if coredumpctl list; then
echo "coredumps=true" >>$GITHUB_OUTPUT
sudo coredumpctl gdb <<<"
set verbose on
set trace-commands on
show debug-file-directory
printf "'"'"query = '%s'\n\n"'"'", debug_query_string
frame function ExceptionalCondition
printf "'"'"condition = '%s'\n"'"'", conditionName
up 1
l
info args
info locals
bt full
" 2>&1 | tee stacktrace.log
fi
true
- name: "Upload Coredumps"
if: always() && steps.collectlogs.outputs.coredumps == 'true'
uses: actions/upload-artifact@v7
with:
name: Coredump_${{ inputs.artifact-name }}
path: /var/lib/systemd/coredump
- name: "Cleanup Coredumps"
shell: bash
if: always() && steps.collectlogs.outputs.coredumps == 'true'
run: |
sudo journalctl --rotate
sudo journalctl --vacuum-time=5s
sudo rm -rf /var/lib/systemd/coredump/*