Sync Qt and Pyside versions with Windows venv [deploy] #907
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/Qt6.7.3ci_x64_VS2022.7z | |
QT: Qt6.7.3 | |
INNO: C:\Program Files (x86)\Inno Setup 6 | |
PYTHON: \hostedtoolcache\windows\Python\3.11.9\x64 | |
jobs: | |
build: | |
if: "!contains(github.event.head_commit.message, '[skip ci]')" | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.11.9 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.11.9 | |
- name: Cache Custom Qt | |
uses: actions/cache@v4 | |
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==2024.5.15 | |
pip install css-parser==1.0.10 | |
pip install cssselect==1.2.0 | |
pip install urllib3==2.2.2 | |
pip install certifi==2024.6.2 | |
pip install dulwich==0.22.1 | |
pip install chardet==5.2.0 | |
pip install pillow==10.3.0 | |
pip install lxml==5.2.2 | |
pip install shiboken6@https://github.com/dougmassay/win-qtwebkit-5.212/releases/download/v5.212-1/shiboken6-6.7.3-6.7.3-cp311-cp311-win_amd64.whl | |
pip install PySide6@https://github.com/dougmassay/win-qtwebkit-5.212/releases/download/v5.212-1/PySide6-6.7.3-6.7.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 | |
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" ^ | |
-DQt6_DIR="${{runner.workspace}}\$QT\lib\cmake\Qt6" | |
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% | |
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 | |
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@v4 | |
if: "contains(github.event.head_commit.message, '[deploy]')" | |
with: | |
name: sigil-installer | |
path: ${{runner.workspace}}\build\installer\*.exe | |
retention-days: 5 |