Skip to content

Update Windows CI Qt with patched qwindows [deploy] #613

Update Windows CI Qt with patched qwindows [deploy]

Update Windows CI Qt with patched qwindows [deploy] #613

Workflow file for this run

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/Qt6.5.3_x64_VS2022.7z
QT: Qt6.5.3
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: Install pip dependencies
shell: cmd
run: |
set PATH=C:\%PYTHON%;C:\%PYTHON%\Scripts;%PATH%
python -m pip install --upgrade pip
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
pip install chardet==5.1.0
pip install pillow==9.5.0
pip install lxml==4.9.2
pip install shiboken6@https://github.com/dougmassay/win-qtwebkit-5.212/releases/download/v5.212-1/shiboken6-6.5.3-6.5.3-cp311-cp311-win_amd64.whl
pip install PySide6@https://github.com/dougmassay/win-qtwebkit-5.212/releases/download/v5.212-1/PySide6-6.5.3-6.5.3-cp311-cp311-win_amd64.whl
- 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
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 -vcvars_ver=14.37
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 ^
-DQt6_DIR="${{runner.workspace}}\$QT\lib\cmake\Qt6" ^
%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 -vcvars_ver=14.37
ninja -j2 makeinstaller
# RIP gdrive
#- 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