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/*