+++ /dev/null
-name: Coverity Scan
-on:
- workflow_dispatch:
- schedule:
- - cron: '0 9 * * 5'
-
-env:
- COVERITY_PROJ: vincentbernat-lldpd
- CONTACT_EMAIL: vincent@bernat.ch
-
-jobs:
- build:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v4
- with:
- submodules: true
- - name: Fetch latest Coverity Scan MD5
- id: var
- env:
- TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
- run: |
- wget -q https://scan.coverity.com/download/cxx/linux64 \
- --post-data "token=$TOKEN&project=${COVERITY_PROJ/-/%2F}&md5=1" \
- -O coverity-latest.tar.gz.md5
- export MD5=$(cat coverity-latest.tar.gz.md5)
- echo "Got MD5 $MD5"
- echo name=md5::${MD5} >> $GITHUB_OUTPUT
- - uses: actions/cache@v3
- id: cache
- with:
- path: coverity-latest.tar.gz
- key: ${{ runner.os }}-coverity-2-${{ steps.var.outputs.md5 }}
- - name: Download Coverity Scan
- run: |
- if [ ! -f coverity-latest.tar.gz ]; then
- wget -q https://scan.coverity.com/download/cxx/linux64 \
- --post-data "token=$TOKEN&project=${COVERITY_PROJ/-/%2F}" \
- -O coverity-latest.tar.gz
- else
- echo "Latest Coverity Scan available from cache :-)"
- md5sum coverity-latest.tar.gz
- fi
- mkdir coverity
- tar xzf coverity-latest.tar.gz --strip 1 -C coverity
- ls coverity/
- env:
- TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
- - name: Install stuff
- run: ./tests/ci/install.sh
- - name: Build
- run: |
- ./autogen.sh
- ./configure --with-snmp
- export PATH=`pwd`/coverity/bin:$PATH
- cov-build --dir cov-int make
- - name: Submit the result to Coverity Scan
- run: |
- tar czvf ${COVERITY_PROJ#*-}.tgz cov-int
- curl \
- --form project=${COVERITY_PROJ} \
- --form token=$TOKEN \
- --form email=${CONTACT_EMAIL} \
- --form file=@${COVERITY_PROJ#*-}.tgz \
- --form version=trunk \
- --form description="${COVERITY_PROJ#*-} $(git rev-parse HEAD)" \
- https://scan.coverity.com/builds?project=${COVERITY_PROJ/-/%2F}
- env:
- TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}