added the rest of the actions
This commit is contained in:
54
.gdunit4_action/check-coredump/action.yml
Normal file
54
.gdunit4_action/check-coredump/action.yml
Normal file
@@ -0,0 +1,54 @@
|
||||
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/*
|
||||
Reference in New Issue
Block a user