name: coverity-scan

on:
  push:
    branches: [ public ]

jobs:
  coverity-build:

    runs-on: ubuntu-latest
    defaults:
      run:
        shell: bash

    steps:
    - uses: actions/checkout@v4
      with:
        fetch-depth: 0
    - name: install dependencies
      run: |
        sudo apt-get update -qq;
        sudo apt-get install -y autotools-dev pkg-config automake autoconf libtool;
        sudo apt-get install -y zlib1g-dev libxml2-dev;
    - name: download coverity tools
      run: |
        curl -Lf \
          -o cov-analysis-linux64.tar.gz \
          --form project=bfabiszewski/libmobi \
          --form token=$TOKEN \
          https://scan.coverity.com/download/linux64 
        mkdir cov-analysis-linux64
        tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
      env:
        TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
    - name: autogen
      run: ./autogen.sh
    - name: configure
      run: ./configure ${{ matrix.config.options }}
    - name: build with cov-build
      run: |
        export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
        cov-build --dir cov-int make -j `nproc`
    - name: upload results to coverity-scan
      run: |
        tar czvf cov-int.tgz cov-int
        curl -Lf \
          --form token=$TOKEN \
          --form email=scan.coverity@fabiszewski.net \
          --form file=@cov-int.tgz \
          --form version="`git describe --tags`" \
          --form description="libmobi `git describe --tags`" \
          "https://scan.coverity.com/builds?project=bfabiszewski/libmobi"
      env:
        TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}       
