---
kind: pipeline
name: unit-tests

steps:
    - name: run-tests
      image: signalwire/freeswitch-public-base
      pull: true
      commands:
      - cat /proc/sys/kernel/core_pattern
      - ./bootstrap.sh -j
      - echo "applications/mod_test" >> modules.conf
      - export ASAN_OPTIONS=log_path=stdout;
      - ./configure --enable-address-sanitizer
      - echo "#!/bin/bash\nmake -j`nproc --all` |& tee ./unit-tests-build-result.txt\nexitstatus=\${PIPESTATUS[0]}\necho \$exitstatus > ./build-status.txt\nmake install\n" > build.sh
      - chmod +x build.sh
      - ./build.sh
      - cd tests/unit
      - ./run-tests.sh
      - ls -la /cores
      - mkdir logs && (mv log_run-tests_*.html logs || true) && (mv backtrace_*.txt logs || true)
      - echo 0 > run-tests-status.txt
      - ./collect-test-logs.sh && exit 0 || echo 'Some tests failed'
      - echo 1 > run-tests-status.txt
      - cd logs && ls -la

    - name: notify
      image: signalwire/unit-tests-notify
      pull: true
      environment:
        GITHUB_CI_APP_PEM:
          from_secret: github_ci_app_pem
        SSH_KEY:
          from_secret: ssh_key
        SLACK_WEBHOOK_URL:
          from_secret: slack_webhook_url
      commands:
      - /root/notify.sh
      
trigger:
  branch:
  - master
  event:
  - pull_request
  - push
---
kind: signature
hmac: 5ebcc916118f95811470ed7e622a2acb71e84790e33f9b172c04fe3e119d78fe

...