diff --git a/.github/workflows/on_PR_linux_special_builds.yml b/.github/workflows/on_PR_linux_special_builds.yml index e90405f4..4cceffc3 100644 --- a/.github/workflows/on_PR_linux_special_builds.yml +++ b/.github/workflows/on_PR_linux_special_builds.yml @@ -202,67 +202,3 @@ jobs: run: | make doc - special_pvsStudio: - name: 'Ubuntu 20.04 - GCC - Static Analyzer: PVS-Studio' - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v3 - with: - fetch-depth: 2 - # Trying to deal with warning: -> Issue detecting commit SHA. Please run actions/checkout with fetch-depth > 1 or set to 0 - - - name: install dependencies - run: | - pip3 install conan==1.45.0 - sudo add-apt-repository ppa:ubuntu-lxc/daily -y - wget -q -O - https://files.pvs-studio.com/etc/pubkey.txt |sudo apt-key add - - sudo wget -O /etc/apt/sources.list.d/viva64.list https://files.pvs-studio.com/etc/viva64.list - sudo apt-get update -qq - sudo apt-get install -qq pvs-studio - - - name: Conan common config - run: | - conan profile new --detect default - conan profile update settings.compiler.libcxx=libstdc++11 default - - - name: Run Conan - run: | - mkdir build && cd build - conan profile list - conan profile show default - conan install .. -o webready=True --build missing - - - name: Configure - run: | - cd build && \ - cmake -DCMAKE_BUILD_TYPE=Debug \ - -DBUILD_SHARED_LIBS=ON \ - -DEXIV2_ENABLE_PNG=ON \ - -DEXIV2_ENABLE_WEBREADY=ON \ - -DEXIV2_ENABLE_CURL=ON \ - -DEXIV2_BUILD_UNIT_TESTS=ON \ - -DEXIV2_ENABLE_BMFF=ON \ - -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \ - -DBUILD_WITH_COVERAGE=ON \ - -DCMAKE_INSTALL_PREFIX=install \ - -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ - .. \ - - - name: Static Analysis - env: - PVS_USERNAME: ${{ secrets.PVS_USERNAME }} - PVS_KEY: ${{ secrets.PVS_KEY }} - run: | - cd build - pvs-studio-analyzer credentials $PVS_USERNAME $PVS_KEY -o PVS_license.lic - pvs-studio-analyzer analyze -l PVS_license.lic -o pvsStudio.log -j4 - plog-converter -a GA:1,2 -d V1042 -t fullhtml pvsStudio.log -o pvsReportHtml - - - uses: actions/upload-artifact@v3 - with: - name: static_analysis - path: build/pvsReportHtml - retention-days: 7 - - diff --git a/.github/workflows/on_PR_linux_staticAnalysis.yml b/.github/workflows/on_PR_linux_staticAnalysis.yml new file mode 100644 index 00000000..c3c764cb --- /dev/null +++ b/.github/workflows/on_PR_linux_staticAnalysis.yml @@ -0,0 +1,73 @@ +name: On PRs - Linux - Static Analysis + +on: + workflow_dispatch: + pull_request: + paths-ignore: + - "*.md" + +jobs: + special_pvsStudio: + name: 'Ubuntu 20.04 - GCC - Static Analyzer: PVS-Studio' + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 2 + # Trying to deal with warning: -> Issue detecting commit SHA. Please run actions/checkout with fetch-depth > 1 or set to 0 + + - name: install dependencies + run: | + pip3 install conan==1.45.0 + sudo add-apt-repository ppa:ubuntu-lxc/daily -y + wget -q -O - https://files.pvs-studio.com/etc/pubkey.txt |sudo apt-key add - + sudo wget -O /etc/apt/sources.list.d/viva64.list https://files.pvs-studio.com/etc/viva64.list + sudo apt-get update -qq + sudo apt-get install -qq pvs-studio + + - name: Conan common config + run: | + conan profile new --detect default + conan profile update settings.compiler.libcxx=libstdc++11 default + + - name: Run Conan + run: | + mkdir build && cd build + conan profile list + conan profile show default + conan install .. -o webready=True --build missing + + - name: Configure + run: | + cd build && \ + cmake -DCMAKE_BUILD_TYPE=Debug \ + -DBUILD_SHARED_LIBS=ON \ + -DEXIV2_ENABLE_PNG=ON \ + -DEXIV2_ENABLE_WEBREADY=ON \ + -DEXIV2_ENABLE_CURL=ON \ + -DEXIV2_BUILD_UNIT_TESTS=ON \ + -DEXIV2_ENABLE_BMFF=ON \ + -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \ + -DBUILD_WITH_COVERAGE=ON \ + -DCMAKE_INSTALL_PREFIX=install \ + -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ + .. \ + + - name: Static Analysis + env: + PVS_USERNAME: ${{ secrets.PVS_USERNAME }} + PVS_KEY: ${{ secrets.PVS_KEY }} + run: | + cd build + pvs-studio-analyzer credentials $PVS_USERNAME $PVS_KEY -o PVS_license.lic + pvs-studio-analyzer analyze -l PVS_license.lic -o pvsStudio.log -j4 --disableLicenseExpirationCheck + plog-converter -a GA:1,2 -d V1042 -t fullhtml pvsStudio.log -o pvsReportHtml + + - uses: actions/upload-artifact@v3 + with: + name: static_analysis + path: build/pvsReportHtml + retention-days: 7 + +