cppcheck/.github/workflows/CI-windows.yml

127 lines
3.4 KiB
YAML

# 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-8.44.zip -o pcre-8.44.zip
7z x pcre-8.44.zip
cd pcre-8.44
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
- name: Install Z3 library
run: |
curl -fsSL https://github.com/Z3Prover/z3/releases/download/z3-4.8.7/z3-4.8.7-x64-win.zip -o z3-4.8.7-win.zip
7z x z3-4.8.7-win.zip -oexternals -r -y
move externals\z3-4.8.7-x64-win externals\z3
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
modules: 'qtcharts'
- 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