From 07fb6c1853b54c6ce772bda444444c3340cb6fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oliver=20St=C3=B6neberg?= Date: Mon, 11 Apr 2022 19:16:58 +0200 Subject: [PATCH] release-windows.yml: set up Visual Studio environment and added missing exitcode checks (#3998) --- .github/workflows/release-windows.yml | 76 +++++++++++++-------------- 1 file changed, 37 insertions(+), 39 deletions(-) diff --git a/.github/workflows/release-windows.yml b/.github/workflows/release-windows.yml index 7afb17344..a6a48026e 100644 --- a/.github/workflows/release-windows.yml +++ b/.github/workflows/release-windows.yml @@ -30,8 +30,8 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Setup msbuild.exe - uses: microsoft/setup-msbuild@v1.0.2 + - name: Set up Visual Studio environment + uses: ilammy/msvc-dev-cmd@v1 - name: Cache PCRE id: cache-pcre @@ -43,16 +43,16 @@ jobs: - name: Download PCRE if: steps.cache-pcre.outputs.cache-hit != 'true' run: | - curl -fsSL https://github.com/pfultz2/pcre/archive/refs/tags/%PCRE_VERSION%.zip -o pcre-%PCRE_VERSION%.zip + curl -fsSL https://github.com/pfultz2/pcre/archive/refs/tags/%PCRE_VERSION%.zip -o pcre-%PCRE_VERSION%.zip || exit /b !errorlevel! - name: Install PCRE run: | - 7z x pcre-%PCRE_VERSION%.zip - cd pcre-%PCRE_VERSION% - cmake . -G "Visual Studio 16 2019" -A x64 -DPCRE_BUILD_PCRECPP=OFF -DPCRE_BUILD_PCREGREP=OFF -DPCRE_BUILD_TESTS=OFF - msbuild -m PCRE.sln /p:Configuration=Release /p:Platform=x64 - copy pcre.h ..\externals - copy Release\pcre.lib ..\externals\pcre64.lib + 7z x pcre-%PCRE_VERSION%.zip || exit /b !errorlevel! + cd pcre-%PCRE_VERSION% || exit /b !errorlevel! + cmake . -G "Visual Studio 16 2019" -A x64 -DPCRE_BUILD_PCRECPP=OFF -DPCRE_BUILD_PCREGREP=OFF -DPCRE_BUILD_TESTS=OFF || exit /b !errorlevel! + msbuild -m PCRE.sln -p:Configuration=Release -p:Platform=x64 || exit /b !errorlevel! + copy pcre.h ..\externals || exit /b !errorlevel! + copy Release\pcre.lib ..\externals\pcre64.lib || exit /b !errorlevel! - name: Cache Qt ${{ env.QT_VERSION }} id: cache-qt @@ -70,58 +70,56 @@ jobs: - name: Create .qm run: | - cd gui - lupdate gui.pro -no-obsolete - lrelease gui.pro -removeidentical + cd gui || exit /b !errorlevel! + lupdate gui.pro -no-obsolete || exit /b !errorlevel! + lrelease gui.pro -removeidentical || exit /b !errorlevel! - name: Matchcompiler - run: python tools\matchcompiler.py --write-dir lib + run: python tools\matchcompiler.py --write-dir lib || exit /b !errorlevel! - name: Build x64 release GUI run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - cd gui - qmake HAVE_QCHART=yes - nmake release + cd gui || exit /b !errorlevel! + qmake HAVE_QCHART=yes || exit /b !errorlevel! + nmake release || exit /b !errorlevel! env: CL: /MP - name: Deploy app run: | - windeployqt Build\gui - del Build\gui\cppcheck-gui.ilk - del Build\gui\cppcheck-gui.pdb + windeployqt Build\gui || exit /b !errorlevel! + del Build\gui\cppcheck-gui.ilk || exit /b !errorlevel! + del Build\gui\cppcheck-gui.pdb || exit /b !errorlevel! - name: Build CLI x64 release configuration using MSBuild - run: msbuild -m cppcheck.sln /t:cli /p:Configuration=Release-PCRE /p:Platform=x64 + run: msbuild -m cppcheck.sln -t:cli -p:Configuration=Release-PCRE -p:Platform=x64 || exit /b !errorlevel! - name: Collect files run: | - move Build\gui win_installer\files - mkdir win_installer\files\addons - copy addons\*.* win_installer\files\addons - mkdir win_installer\files\cfg - copy cfg\*.cfg win_installer\files\cfg - mkdir win_installer\files\platforms - copy platforms\*.xml win_installer\files\platforms - copy bin\cppcheck.exe win_installer\files - copy bin\cppcheck-core.dll win_installer\files - mkdir win_installer\files\help - xcopy /s gui\help win_installer\files\help - del win_installer\files\translations\*.qm - move gui\*.qm win_installer\files\translations - + move Build\gui win_installer\files || exit /b !errorlevel! + mkdir win_installer\files\addons || exit /b !errorlevel! + copy addons\*.* win_installer\files\addons || exit /b !errorlevel! + mkdir win_installer\files\cfg || exit /b !errorlevel! + copy cfg\*.cfg win_installer\files\cfg || exit /b !errorlevel! + :: "platforms" is a folder used by Qt as well so it already exists + :: mkdir win_installer\files\platforms || exit /b !errorlevel! + copy platforms\*.xml win_installer\files\platforms || exit /b !errorlevel! + copy bin\cppcheck.exe win_installer\files || exit /b !errorlevel! + copy bin\cppcheck-core.dll win_installer\files || exit /b !errorlevel! + mkdir win_installer\files\help || exit /b !errorlevel! + xcopy /s gui\help win_installer\files\help || exit /b !errorlevel! + del win_installer\files\translations\*.qm || exit /b !errorlevel! + move gui\*.qm win_installer\files\translations || exit /b !errorlevel! - name: Build Installer run: | - call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - cd win_installer + cd win_installer || exit /b !errorlevel! REM Read ProductVersion for /f "tokens=4 delims= " %%a in ('find "ProductVersion" productInfo.wxi') do set PRODUCTVER=%%a REM Remove double quotes set PRODUCTVER=%PRODUCTVER:"=% - echo ProductVersion=%PRODUCTVER% - msbuild -m cppcheck.wixproj /p:Platform=x64,ProductVersion=%PRODUCTVER%.${{ github.run_number }} + echo ProductVersion="%PRODUCTVER%" || exit /b !errorlevel! + msbuild -m cppcheck.wixproj -p:Platform=x64,ProductVersion=%PRODUCTVER%.${{ github.run_number }} || exit /b !errorlevel! - uses: actions/upload-artifact@v2 with: