name: Coverity Scan on: schedule: - cron: '0 18 * * 1,4' # Bi-weekly at 18:00 UTC on Monday and Thursday jobs: latest: runs-on: ubuntu-latest steps: - name: Determine current repository id: "determine-repo" run: "echo \"::set-output name=repo::${GITHUB_REPOSITORY}\"" - uses: actions/checkout@v2 - name: Download Coverity Build Tool run: | wget -q https://scan.coverity.com/download/cxx/linux64 --post-data "token=$TOKEN&project=rizinorg%2Frizin" -O cov-analysis-linux64.tar.gz mkdir cov-analysis-linux64 tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64 env: TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} if: steps.determine-repo.outputs.repo == 'rizinorg/rizin' - name: Fixed world writable dirs run: | chmod go-w $HOME sudo chmod -R go-w /usr/share if: steps.determine-repo.outputs.repo == 'rizinorg/rizin' - name: Installing build dependencies run: | sudo apt-get --assume-yes install python3-wheel python3-setuptools cabextract pip3 install --user meson ninja PyYAML if: steps.determine-repo.outputs.repo == 'rizinorg/rizin' - name: Meson run: meson build if: steps.determine-repo.outputs.repo == 'rizinorg/rizin' - name: Build with cov-build run: | export PATH=`pwd`/cov-analysis-linux64/bin:$PATH cov-build --dir cov-int ninja -C build if: steps.determine-repo.outputs.repo == 'rizinorg/rizin' # TODO: Make it GitHub Action instead - name: Submit the result to Coverity Scan run: | tar czvf rizin.tgz cov-int curl \ --form token=$TOKEN \ --form email=noreply@rizin.re \ --form file=@rizin.tgz \ --form version=trunk \ --form description="rizin" \ https://scan.coverity.com/builds?project=rizinorg%2Frizin env: TOKEN: ${{ secrets.COVERITY_SCAN_TOKEN }} if: steps.determine-repo.outputs.repo == 'rizinorg/rizin'