diff --git a/.github/installCoverity.sh b/.github/installCoverity.sh deleted file mode 100755 index c54ff28..0000000 --- a/.github/installCoverity.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash -e - -TOOL_ARCHIVE=/tmp/coverity.tar.gz -TOOL_BASE=/tmp/coverity-scan-analysis -TOOL_URL=https://scan.coverity.com/download/`uname` - -if [ ! -z "`find $TOOL_BASE -type -d -name 'cov-analysis*'`" ]; then - echo -e "\033[33;1mUsing cached Coverity Scan Analysis Tools\033[0m" - exit 0 -fi - -echo -n | openssl s_client -connect scan.coverity.com:443 | \ - sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | \ - sudo tee -a /etc/ssl/certs/ca- - -pushd /tmp -echo -e "\033[33;1mDownloading Coverity Scan Analysis Tool...\033[0m" -wget -nv $TOOL_URL --post-data "project=$COVERITY_PROJECT_NAME&token=$COVERITY_SCAN_TOKEN" -O coverity.tar.gz - -echo -e "\033[33;1mExtracting Coverity Scan Analysis Tool...\033[0m" -mkdir -p $TOOL_BASE -pushd $TOOL_BASE -tar xzf $TOOL_ARCHIVE -popd - -rm coverity.tar.gz -popd - -TOOL_BASE=/tmp/coverity-scan-analysis -TOOL_DIR=`find $TOOL_BASE -type d -name 'cov-analysis*'` -PATH=$TOOL_DIR/bin:$PATH - -cov-configure --template --comptype gcc --compiler $CC - -echo "PATH=$PATH" >> $GITHUB_ENV -echo "COVERITY_PROJECT_NAME=$COVERITY_PROJECT_NAME" >> $GITHUB_ENV diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml index 060989d..74e7d1a 100644 --- a/.github/workflows/coverity.yml +++ b/.github/workflows/coverity.yml @@ -50,32 +50,17 @@ jobs: $GCOV --version meson --version ninja --version - - name: Install Coverity - shell: bash - run: | - .github/installCoverity.sh - env: - COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} - COVERITY_PROJECT_NAME: substrate - - name: Run Coverity + - name: Configure shell: bash run: | meson setup build --prefix=$HOME/.local -Dcpp_std=c++17 - cov-build --dir cov-int ninja -C build - env: - COVERITY_SCAN_TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} - - name: Upload Coverity - shell: bash - run: | - VERSION=`meson introspect build --projectinfo | jq -r '.["version"]'`-`git rev-parse --short HEAD` - tar cJf substrate.tar.xz cov-int - curl --form token=${{ secrets.COVERITY_SCAN_TOKEN }} \ - --form email=dx-mon@users.sourceforge.net \ - --form file=@substrate.tar.xz \ - --form version=$VERSION \ - --form description="A collection of headers containing useful tools and gadgets for building C++ programs" \ - https://scan.coverity.com/builds?project=${COVERITY_PROJECT_NAME} - - name: Debug - if: failure() - shell: bash - run: cat cov-int/build-log.txt + echo "SUBSTRATE_VERSION=`meson introspect build --projectinfo | jq -r '.["version"]'`-`git rev-parse --short HEAD`" >> $GITHUB_ENV + - name: Run and upload Coverity + uses: vapier/coverity-scan-action@v1 + with: + command: ninja -C build + email: dx-mon@users.sourceforge.net + project: substrate + version: ${{ env.SUBSTRATE_VERSION }} + description: A collection of headers containing useful tools and gadgets for building C++ programs + token: ${{ secrets.COVERITY_SCAN_TOKEN }}