127 lines
3.4 KiB
YAML
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.0
|
|
|
|
- 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
|