VS2022 renamed redist files [deploy] #554
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build Sigil on Windows | |
on: | |
push: | |
branches: [ master ] | |
tags-ignore: | |
- '**' | |
paths-ignore: | |
- 'docs/**' | |
- 'installer/win_installer_note.txt' | |
- 'ChangeLog.txt' | |
- 'COPYING.txt' | |
- 'version.xml' | |
- '.retired_travis.yml' | |
- '**/**.md' | |
pull_request: | |
branches: [ master ] | |
tags-ignore: | |
- '**' | |
paths-ignore: | |
- 'docs/**' | |
- 'installer/win_installer_note.txt' | |
- 'ChangeLog.txt' | |
- 'COPYING.txt' | |
- 'version.xml' | |
- '.retired_travis.yml' | |
- '**/**.md' | |
env: | |
BUILD_TYPE: Release | |
DOWNLOADQT: https://github.com/dougmassay/win-qtwebkit-5.212/releases/download/v5.212-1/Qt5.15.9_x64_VS2022.7z | |
GDRIVE: https://github.com/dougmassay/win-qtwebkit-5.212/releases/download/v5.212-1/gdrive-windows-x64.exe | |
GDRIVE_REFRESH_TOKEN: ${{ secrets.GDRIVE_REFRESH_TOKEN }} | |
GDRIVE_DIR: ${{ secrets.SIGIL_WIN_GDRIVE_DIR }} | |
QT: Qt5.15.9 | |
INNO: C:\Program Files (x86)\Inno Setup 6 | |
CMAKE64BIT: -DWIN_INSTALLER_USE_64BIT_CRT=1 | |
PYTHON: \hostedtoolcache\windows\Python\3.11.3\x64 | |
jobs: | |
build: | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python 3.11.3 | |
uses: actions/setup-python@v4 | |
with: | |
python-version: 3.11.3 | |
- name: Cache Custom Qt | |
uses: actions/cache@v3 | |
with: | |
path: ${{runner.workspace}}\${{env.QT}} | |
key: ${{ runner.os }}-qtdeps-${{hashFiles('**/reset-win-caches.txt')}} | |
- name: Install Custom Qt | |
shell: cmd | |
run: | | |
if not exist ${{runner.workspace}}\%QT% cd ${{runner.workspace}} & curl -L -o qt.7z "%DOWNLOADQT%" & 7z x qt.7z -y | |
- uses: lukka/get-cmake@latest | |
#- name: Cache pip modules | |
# uses: actions/cache@v3 | |
# with: | |
# path: C:\hostedtoolcache\windows\Python\3.8.6\x64\lib\site-packages | |
# key: ${{ runner.os }}-pipdeps-${{hashFiles('**/reset-win-caches.txt')}} | |
- name: Install pip dependencies | |
shell: cmd | |
run: | | |
set PATH=C:\%PYTHON%;C:\%PYTHON%\Scripts;%PATH% | |
python -m pip install pip==21.0.1 | |
pip install six==1.16.0 | |
pip install html5lib==1.1 | |
pip install regex==2023.3.23 | |
pip install css-parser==1.0.8 | |
pip install cssselect==1.2.0 | |
pip install urllib3==1.26.15 | |
pip install certifi==2022.12.7 | |
pip install dulwich==0.21.3 --global-option="--pure" | |
pip install chardet==5.1.0 | |
pip install pillow==9.5.0 | |
pip install PyQt5==5.15.9 PyQt5-sip==12.12.0 | |
pip install PyQtWebEngine==5.15.6 | |
pip install lxml==4.9.2 | |
- name: Create Build Environment | |
shell: cmd | |
run: | | |
set PATH=${{runner.workspace}}\%QT%\bin;%PATH% | |
echo ${{runner.workspace}} | |
mkdir ${{runner.workspace}}\build | |
cd ${{runner.workspace}}\build | |
curl.exe -L -o gdrive.exe "%GDRIVE%" | |
gdrive.exe version | |
qmake -v | |
python --version | |
- name: Build Sigil | |
shell: cmd | |
working-directory: ${{runner.workspace}}\build | |
run: | | |
set PATH=C:\%PYTHON%;${{runner.workspace}}\%QT%\bin;%PATH% | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 | |
echo %PATH% | |
cmake %GITHUB_WORKSPACE% ^ | |
-G "Ninja" ^ | |
-DCMAKE_BUILD_TYPE=%BUILD_TYPE% ^ | |
-DPYTHON_LIBRARY="C:\%PYTHON%\libs\python311.lib" ^ | |
-DPYTHON_INCLUDE_DIR="C:\%PYTHON%\include" ^ | |
-DPYTHON_EXECUTABLE="C:\%PYTHON%\python.exe" ^ | |
-DUSE_ALT_ICONS=1 ^ | |
-DQt5_DIR="${{runner.workspace}}\$QT\lib\cmake\Qt5" ^ | |
%CMAKE64BIT% | |
ninja -j2 | |
- name: Build Installer | |
shell: cmd | |
working-directory: ${{runner.workspace}}\build | |
if: "contains(github.event.head_commit.message, '[deploy]')" | |
run: | | |
set PATH=C:\%PYTHON%;%INNO%;${{runner.workspace}}\%QT%\bin;%PATH% | |
set /p RedistVersion=<"C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\Microsoft.VCRedistVersion.default.txt" | |
set REDIST=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\%RedistVersion%\vc_redist.x64.exe | |
echo "%REDIST%" | |
cp '%REDIST%' %GITHUB_WORKSPACE%\installer\vcredist_x64.exe | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 | |
ninja -j2 makeinstaller | |
- name: Upload to gdrive | |
shell: cmd | |
working-directory: ${{runner.workspace}}\build | |
if: "contains(github.event.head_commit.message, '[deploy]') && github.event_name != 'pull_request'" | |
run: | | |
set PATH=C:\%PYTHON%;${{runner.workspace}}\build;%PATH% | |
python %GITHUB_WORKSPACE%\ci_scripts\newgddeploy.py | |
- uses: actions/upload-artifact@v3 | |
if: "contains(github.event.head_commit.message, '[deploy]')" | |
with: | |
name: sigil-installer | |
path: ${{runner.workspace}}\build\installer\*.exe | |
retention-days: 5 |