项目作者: mdavidsaver

项目描述 :
Utility to automate analysis of core dumps from crashes during CI builds and test runs
高级语言: Python
项目地址: git://github.com/mdavidsaver/ci-core-dumper.git
创建时间: 2020-04-05T21:10:38Z
项目社区:https://github.com/mdavidsaver/ci-core-dumper

开源协议:Other

下载


ci-core-dumper

A utility to automate analysis of core dumps from crashes during CI builds and test runs.

Support Linux, OSX (somewhat), and Windows.
Tested with Appveyor, Github Actions, Travis-CI.

On Linux, uses the corepattern facility to capture, and analyzes with GDB.
On OSX, find and print any CrashReporter logs.
On Windows, uses the AeDebug facility to capture, and analyzes with CDB.

Usage on Github Actions:

  1. ...
  2. jobs:
  3. test:
  4. runs-on: ${{ matrix.os }}
  5. name: My Job
  6. steps:
  7. - uses: actions/checkout@v3
  8. - uses: mdavidsaver/ci-core-dumper@master
  9. - runs: |
  10. ulimit -c unlimited
  11. ... something which might crash

With Github Actions only, a dummy ulimit command is provided on Windows.

Usage in Travis-CI:

  1. install:
  2. - sudo pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
  3. before_script:
  4. - sudo python -m ci_core_dumper install
  5. script:
  6. - ulimit -c unlimited
  7. - ... something which might crash
  8. after_failure:
  9. - python -m ci_core_dumper report

Info on stages.

Usage in Appveyor:

  1. install:
  2. - cmd: pip install git+https://github.com/mdavidsaver/ci-core-dumper#egg=ci-core-dumper
  3. before_test:
  4. - cmd: python -m ci_core_dumper install
  5. test_script:
  6. - ... something which might crash
  7. on_failure:
  8. - cmd: python -m ci_core_dumper report

Info on stages.

User setup verification

Test crashes should be rare.
So the best case is that ci-core-dumper is installed but never used.
There is a risk of false negatives if some issue prevents ci-core-dumper from functioning correctly.
eg. omitting ‘ulimit -c unlimited’ on *NIX or SetErrorMode(2) on Windows.

Extra Commands

The action arguments extra_cdb: and extra_gdb: can be used to pass
a semicolon separated list of extra debugger commands to CDB or GDB. eg.

  1. ...
  2. jobs:
  3. ...
  4. - uses: mdavidsaver/ci-core-dumper@master
  5. with:
  6. extra_gdb: "info auto-load"

Development

Please report any issue on the Github project.