name: Coverity on: push: branches: [master] paths-ignore: - '.gitignore' - '.gitattributes' - 'res/**' - '**.cmd' - '**.md' - '**.rc' - '**.sh' - '**.txt' - '**.xml' env: SOLUTION_FILE_PATH: ./rufus.sln EMAIL: pete@akeo.ie BUILD_CONFIGURATION: Release TARGET_PLATFORM: x64 COVERITY_PROJECT_NAME: pbatard%2Frufus jobs: Coverity-Build: runs-on: windows-latest steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 0 submodules: recursive - name: Download Coverity run: | curl -d "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=${{ env.COVERITY_PROJECT_NAME }}" -L https://scan.coverity.com/download/cxx/win64 -o cov-analysis-win64.zip 7z x cov-analysis-win64.zip del cov-analysis-win64.zip move cov-analysis-win64* cov-analysis-win64 - name: Add Coverity to PATH shell: bash run: echo "${{github.workspace}}/cov-analysis-win64/bin" >> $GITHUB_PATH - name: Add MSBuild to PATH uses: microsoft/setup-msbuild@v1.1 - name: Build with Coverity run: | cov-configure --msvc cov-build.exe --dir cov-int msbuild ${{ env.SOLUTION_FILE_PATH }} /m /p:Configuration=${{ env.BUILD_CONFIGURATION }},Platform=${{ env.TARGET_PLATFORM }} - name: Publish Coverity artifacts uses: actions/upload-artifact@v3 with: name: cov-int path: cov-int/ - name: Upload Coverity build for analysis run: | 7z a -r cov-int.zip cov-int curl --form email=${{ env.EMAIL }} --form token=${{ secrets.COVERITY_SCAN_TOKEN }} --form file=@cov-int.zip --form version="${{ env.GITHUB_SHA }}" --form description="Automated build" https://scan.coverity.com/builds?project=${{ env.COVERITY_PROJECT_NAME }}