# Syntax reference https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions
# Environment reference https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners
name: Coverity

on:
  schedule:
  - cron: "0 0 * * *"

permissions:
  contents: read

jobs:
  scan:
    runs-on: ubuntu-latest
    if: ${{ github.repository_owner == 'cppcheck-opensource' }}
    steps:
    - uses: actions/checkout@v4
      with:
        persist-credentials: false
    - name: Install missing software on ubuntu
      run: |
        sudo apt-get update
        sudo apt-get install qtbase5-dev qttools5-dev libqt5charts5-dev libboost-container-dev
    - name: Download Coverity build tool
      run: |
        wget -c -N https://scan.coverity.com/download/linux64 --post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=cppcheck" -O coverity_tool.tar.gz
        mkdir coverity_tool
        tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool
    - name: Build with Coverity build tool
      run: |
        export PATH=`pwd`/coverity_tool/bin:$PATH
        cov-build --dir cov-int make CPPCHK_GLIBCXX_DEBUG=
    - name: Submit build result to Coverity Scan
      run: |
        tar czvf cov.tar.gz cov-int
        curl --form token=${{ secrets.COVERITY_SCAN_TOKEN }} \
          --form email=daniel.marjamaki@gmail.com \
          --form file=@cov.tar.gz \
          --form version="Commit $GITHUB_SHA" \
          --form description="Development" \
          https://scan.coverity.com/builds?project=cppcheck
