# Some convenient links: # - https://github.com/actions/virtual-environments/blob/master/images/win/Windows2019-Readme.md # name: CI-windows on: [push,pull_request] defaults: run: shell: cmd jobs: build: strategy: matrix: # windows 2016 should default to VS 2017. Not supported by setup-msbuild os: [windows-2019] fail-fast: true runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - name: Setup msbuild.exe uses: microsoft/setup-msbuild@v1.0.2 - name: Install PCRE run: | curl -fsSL https://ftp.pcre.org/pub/pcre/pcre-%PCRE_VERSION%.zip -o pcre-%PCRE_VERSION%.zip 7z x pcre-%PCRE_VERSION%.zip cd pcre-%PCRE_VERSION% cmake . -G "Visual Studio 16 2019" -A x64 msbuild -m PCRE.sln /p:Configuration=Release /p:Platform=x64 dir dir Release dir x64 dir x64\Release copy pcre.h ..\externals copy Release\pcre.lib ..\externals\pcre64.lib env: # see https://www.pcre.org/original/changelog.txt PCRE_VERSION: 8.44 - name: Install Z3 library run: | curl -fsSL https://github.com/Z3Prover/z3/releases/download/z3-%Z3_VERSION%/z3-%Z3_VERSION%-x64-win.zip -o z3-%Z3_VERSION%-win.zip 7z x z3-%Z3_VERSION%-win.zip -oexternals -r -y move externals\z3-%Z3_VERSION%-x64-win externals\z3 env: # see https://github.com/Z3Prover/z3/releases: Z3_VERSION: 4.8.9 - name: Install Qt uses: jurplel/install-qt-action@v2 with: modules: 'qtcharts' mirror: 'http://mirrors.ocf.berkeley.edu/qt/' - name: Build GUI x64 release run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" cd gui qmake HAVE_QCHART=yes nmake release - name: Deploy GUI run: | dir Build dir Build\gui windeployqt Build\gui dir Build\gui del Build\gui\cppcheck-gui.ilk del Build\gui\cppcheck-gui.pdb - name: Build CLI x64 debug configuration using MSBuild run: msbuild -m cppcheck.sln /p:Configuration=Debug-PCRE /p:Platform=x64 - name: Run Debug test run: .\bin\debug\testrunner.exe - name: Build x64 release configuration using MSBuild run: msbuild -m cppcheck.sln /p:Configuration=Release-PCRE /p:Platform=x64 - name: Run Release test run: .\bin\testrunner.exe - uses: actions/upload-artifact@v2 with: name: cppcheck_gui path: Build\gui - uses: actions/upload-artifact@v2 with: name: cppcheck_gui path: ./**/cfg/*.cfg - uses: actions/upload-artifact@v2 with: name: cppcheck_gui path: ./**/platforms/*.xml - uses: actions/upload-artifact@v2 with: name: cppcheck_gui path: externals\z3\bin\*.dll - uses: actions/upload-artifact@v2 with: name: cppcheck_cli path: ./bin/cppcheck.exe - uses: actions/upload-artifact@v2 with: name: cppcheck_cli path: ./bin/cppcheck-core.dll - uses: actions/upload-artifact@v2 with: name: cppcheck_cli path: externals\z3\bin\*.dll - uses: actions/upload-artifact@v2 with: name: cppcheck_cli path: ./**/cfg/*.cfg - uses: actions/upload-artifact@v2 with: name: cppcheck_cli path: ./**/platforms/*.xml