Coverity Scan #834
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: "Coverity Scan" | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| schedule: | |
| - cron: '0 7 * * 2' | |
| jobs: | |
| analyze: | |
| runs-on: ubuntu-latest | |
| env: | |
| COVERITY_SCAN_BRANCH_PATTERN: "${{ github.ref}}" | |
| COVERITY_SCAN_NOTIFICATION_EMAIL: "[email protected]" | |
| COVERITY_SCAN_PROJECT_NAME: "${{ github.repository }}" | |
| # Set in repo settings -> secrets -> repository secrets | |
| COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}" | |
| CURRENT_REF: "${{ github.ref }}" | |
| steps: | |
| - name: Repository checkout | |
| uses: actions/checkout@v3 | |
| - name: Before_install | |
| run: | | |
| lsb_release -a | |
| uname -a | |
| whoami | |
| tty || echo | |
| pwd | |
| - name: Download coverity scan build tool | |
| run: | | |
| wget -q https://scan.coverity.com/download/cxx/linux64 \ | |
| --post-data "token=$COVERITY_SCAN_TOKEN&project=gansm%2Ffinalcut" \ | |
| -O cov-analysis-linux64.tar.gz | |
| mkdir cov-analysis-linux64 | |
| tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64 | |
| - name: Install dependencies via apt-get | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get -y install \ | |
| ca-certificates \ | |
| gcc \ | |
| g++ \ | |
| gpm \ | |
| libgpm-dev \ | |
| libcppunit-dev \ | |
| autoconf-archive | |
| - name: Build with cov-build | |
| run: | | |
| export PATH=`pwd`/cov-analysis-linux64/bin:$PATH | |
| cat cov-int/scm_log.txt || echo | |
| autoreconf -v --install --force | |
| ./configure --prefix=/usr \ | |
| CPPFLAGS="-DDEBUG" \ | |
| CXXFLAGS="-g -O0 -DDEBUG -DUNIT_TEST" \ | |
| --with-unit-test | |
| CPU_COUNT="$( ( ( getconf _NPROCESSORS_ONLN 2>/dev/null || (getconf NPROCESSORS_ONLN 2>/dev/null) ) || nprocx 2>/dev/null ) || echo "1")" | |
| JOBS="$(( $((CPU_COUNT / 2)) > 1 ? $((CPU_COUNT / 2)) : 1 ))" | |
| cov-build --dir cov-int make V=1 -j$JOBS | |
| - name: Submit the result to Coverity Scan | |
| run: | | |
| tar czvf finalcut.tgz cov-int | |
| curl \ | |
| --form token=$COVERITY_SCAN_TOKEN \ | |
| --form email=$COVERITY_SCAN_NOTIFICATION_EMAIL \ | |
| --form [email protected] \ | |
| --form version="main" \ | |
| --form description="Build submitted via github action" \ | |
| https://scan.coverity.com/builds?project=gansm%2Ffinalcut | |
| - name: Make unit test | |
| run: | | |
| sudo sysctl -w dev.tty.legacy_tiocsti=1 # Required for Linux 6.2.0 or later | |
| script -q -e -c 'make check' && RET=$? || RET=$? | |
| cat test/*.log || echo | |
| echo "Exit status: $RET" | |
| exit "$RET" | |