5 - cron: '0 0 1 * *' # Monthly (1st day of month at midnight)
6 workflow_dispatch: # Mainly for testing. Don't forget the Coverity usage limits.
9 LIBTORRENT_VERSION_TAG: v1.2.14
16 - name: Checkout repository
17 uses: actions/checkout@v2
19 - name: Install dependencies
23 build-essential cmake git ninja-build pkg-config \
24 libssl-dev zlib1g-dev libboost-dev libboost-system-dev
25 # sudo apt install libqt5svg5-dev qtbase5-dev qttools5-dev # the Qt version in the standard repositories is too old...
27 # this will be installed under /opt/qt515. CMake will still find it automatically without additional hints
28 # to speed up the process, only the required components are installed rather than the full qt515-meta-full metapackage
31 sudo add-apt-repository ppa:beineri/opt-qt-5.15.2-focal
33 qt515base qt515svg qt515tools
35 - name: Install libtorrent
37 git clone https://github.com/arvidn/libtorrent
39 git checkout ${{ env.LIBTORRENT_VERSION_TAG }}
43 -DCMAKE_BUILD_TYPE=Release \
44 -Ddeprecated-functions=OFF
46 sudo cmake --install build --prefix /usr/local
48 - name: Download Coverity Build Tool
52 https://scan.coverity.com/download/linux64 \
53 --post-data "token=$TOKEN&project=qbittorrent%2FqBittorrent" \
56 tar xzf coverity_tool.tgz --strip 1 -C coverity_tool
58 TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}
60 - name: Configure qBittorrent
65 -DCMAKE_BUILD_TYPE=Release \
67 -DVERBOSE_CONFIGURE=ON
69 - name: Build qBittorrent
71 export PATH="$(pwd)/coverity_tool/bin:$PATH"
72 cov-build --dir cov-int cmake --build build
74 - name: Submit the result to Coverity Scan
76 tar caf qbittorrent.xz cov-int
79 --form email=sledgehammer999@qbittorrent.org \
80 --form file=@qbittorrent.tgz \
81 --form version="$(git rev-parse --short HEAD)" \
82 --form description="master" \
83 https://scan.coverity.com/builds?project=qbittorrent%2FqBittorrent
85 TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }}