name: Coverity Scan on: schedule: - cron: '0 0 1 * *' # Monthly (1st day of month at midnight) workflow_dispatch: # Mainly for testing. Don't forget the Coverity usage limits. jobs: coverity_scan: name: Scan runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 - name: Install dependencies run: | sudo apt update sudo apt install \ build-essential cmake ninja-build pkg-config \ libboost-dev libssl-dev zlib1g-dev - name: Install Qt uses: jurplel/install-qt-action@v3 with: version: "6.4.0" archives: icu qtbase qtsvg qttools - name: Install libtorrent run: | git clone \ --branch "v2.0.8" \ --depth 1 \ --recurse-submodules \ https://github.com/arvidn/libtorrent.git cd libtorrent cmake \ -B build \ -G "Ninja" \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -Ddeprecated-functions=OFF cmake --build build sudo cmake --install build - name: Download Coverity Build Tool run: | wget \ -q \ https://scan.coverity.com/download/linux64 \ --post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=qbittorrent%2FqBittorrent" \ -O coverity_tool.tgz mkdir coverity_tool tar xzf coverity_tool.tgz --strip 1 -C coverity_tool - name: Build qBittorrent run: | cmake \ -B build \ -G "Ninja" \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DGUI=ON \ -DQT6=ON \ -DVERBOSE_CONFIGURE=ON export PATH="$(pwd)/coverity_tool/bin:$PATH" cov-build --dir cov-int cmake --build build - name: Submit the result to Coverity Scan run: | tar caf qbittorrent.xz cov-int curl \ --form token="${{ secrets.COVERITY_SCAN_TOKEN }}" \ --form email=sledgehammer999@qbittorrent.org \ --form file=@qbittorrent.xz \ --form version="$(git rev-parse --short HEAD)" \ --form description="master" \ https://scan.coverity.com/builds?project=qbittorrent%2FqBittorrent