diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index 9cff0c65c8..f36ea0a7a4 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -36,14 +36,31 @@ jobs: name: Coverity Linux runs-on: [ubuntu-latest] steps: - - uses: actions/checkout@v4 - - name: Configure - run: | - mkdir build - cmake -DCMAKE_CXX_STANDARD=20 -DCMAKE_BUILD_TYPE=relwithdebinfo -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DTBB_CPF=ON -B ${GITHUB_WORKSPACE}/build - - uses: vapier/coverity-scan-action@v1 - with: - token: ${{ secrets.COVERITY_TOKEN }} - email: ${{ secrets.COVERITY_EMAIL }} - project: ${{env.COVERITY_PROJECT }} - command: make VERBOSE=1 -j${BUILD_CONCURRENCY} ${GITHUB_WORKSPACE}/build + - uses: actions/checkout@v4 + - name: Download Linux 64 Coverity Tool + run: | + curl https://scan.coverity.com/download/cxx/linux64 --output ${GITHUB_WORKSPACE}/cov-linux64-tool.tar.gz \ + --data "token=${{secrets.COVERITY_TOKEN}}&project=${env.COVERITY_PROJECT}" + ls -l ${GITHUB_WORKSPACE} + pwd + mkdir cov-linux64-tool + tar -xzf cov-linux64-tool.tar.gz --strip 1 -C cov-linux64-tool + - name: Build with cov-build + run: | + export PATH="${PWD}/cov-linux64-tool/bin:${PATH}" + mkdir build && cd build + cmake -DCMAKE_CXX_STANDARD=20 -DCMAKE_BUILD_TYPE=relwithdebinfo \ + -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc -DTBB_CPF=ON .. + cov-build --dir cov-int make VERBOSE=1 -j${BUILD_CONCURRENCY} + - name: Archive Coverity build results + run: tar -czvf cov-int.tgz cov-int + - name: Submit Coverity results for analysis + run: | + echo GITHUB_SHA_SHORT=${GITHUB_SHA::8} >> $GITHUB_ENV + curl \ + --form token="${{ secrets.COVERITY_TOKEN }}" \ + --form email="${{ secrets.COVERITY_EMAIL }}" \ + --form file=@cov-int.tgz \ + --form version="${{ inputs.version }}" \ + --form description="oneTBB-master-${{ env.GITHUB_SHA_SHORT }}" \ + "https://scan.coverity.com/builds?project=${env.COVERITY_PROJECT}"