diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml new file mode 100644 index 000000000..cf367c6f9 --- /dev/null +++ b/.github/workflows/coverity.yml @@ -0,0 +1,53 @@ +name: Coverity Scan + +on: + push: + branches: + - coverity_scan + + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-20.04 + + env: + COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} + COVERITY_SCAN_PROG_URL: https://scan.coverity.com/download/cxx/linux64 + COVERITY_SCAN_PROJECT_NAME: sipwise/rtpengine + COVERITY_SCAN_NOTIFICATION_EMAIL: development@sipwise.com + steps: + - name: Checkout source + uses: actions/checkout@v2 + + - name: Get build dependencies + run: | + sudo apt-get install -qq -y --no-install-recommends git ca-certificates curl + sudo apt-get build-dep -qq -y -Ppkg.ngcp-rtpengine.nobcg729 . + + - name: Get coverity scan + run: | + curl -o cov-analysis.tgz \ + $COVERITY_SCAN_PROG_URL \ + --form project=$COVERITY_SCAN_PROJECT_NAME \ + --form token=$COVERITY_SCAN_TOKEN + tar xfz cov-analysis.tgz + + # We need to disable glib deprecation warnings, as coverity-scan does + # not support __attributes__ in enums. + - name: Analyze + run: | + DEB_BUILD_PROFILES="pkg.ngcp-rtpengine.nobcg729" \ + CPPFLAGS="-DGLIB_DISABLE_DEPRECATION_WARNINGS" \ + cov-analysis-*/bin/cov-build --dir cov-int make -j4 coverity + + - name: Submit result + run: | + tar cfz cov-int.tar.gz cov-int + curl \ + https://scan.coverity.com/builds?project=$COVERITY_SCAN_PROJECT_NAME \ + --form token=$COVERITY_SCAN_TOKEN \ + --form email=$COVERITY_SCAN_NOTIFICATION_EMAIL \ + --form file=@cov-int.tar.gz \ + --form version="`git describe --tags`" \ + --form description="`git describe --tags` / $CI_COMMIT_TITLE / $CI_COMMIT_REF_NAME:$CI_PIPELINE_ID" diff --git a/Makefile b/Makefile index 0d1030290..a5f05c1b1 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,12 @@ ifeq ($(with_transcoding),yes) endif $(MAKE) -C iptables-extension +coverity: + $(MAKE) -C daemon +ifeq ($(with_transcoding),yes) + $(MAKE) -C recording-daemon +endif + .PHONY: with-kernel with-kernel: all @@ -35,13 +41,3 @@ distclean clean: check: all $(MAKE) -C t - -coverity: - cov-build --dir cov-int $(MAKE) check - tar -czf project.tgz cov-int - curl --form token=$(COVERITY_RTPENGINE_TOKEN) \ - --form email=$(DEBEMAIL) \ - --form file=@project.tgz \ - --form version="$(RTPENGINE_VERSION)" \ - --form description="automatic upload" \ - https://scan.coverity.com/builds?project=$(COVERITY_RTPENGINE_PROJECT) diff --git a/README.md b/README.md index 47bb03e6e..8de6658fc 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@   + What is rtpengine? =======================