@@ -4,45 +4,53 @@ on: [push, workflow_dispatch]
44
55jobs :
66 matrix_build :
7- runs-on : windows-2022
7+ runs-on : windows-latest
88 strategy :
99 fail-fast : false
1010 matrix :
11- arch : [win64, win32 ]
11+ arch : [win64]
1212 buildtype : [debug-and-release, release]
13+ qtversion : [6.10.0]
1314
1415 steps :
15- - uses : actions/checkout@v4.2.2
16- - uses : actions/setup-python@v5.6.0
16+ - name : setup release or debug build arguments
17+ id : cfgvar
18+ shell : bash
19+ run : |
20+ if [[ "${{matrix.buildtype}}" = "debug-and-release" ]] ; then
21+ echo "buildarg=-debug-and-release" >> "$GITHUB_OUTPUT"
22+ echo zip_file_name=qt${{matrix.qtversion}}_${{ matrix.arch }}-msvc2022_static-${{ matrix.buildtype }}.zip >> "$GITHUB_OUTPUT"
23+ else
24+ echo "buildarg=-static -static-runtime -release -no-pch -optimize-size" >> "$GITHUB_OUTPUT"
25+ echo zip_file_name=qt${{matrix.qtversion}}_${{ matrix.arch }}-msvc2022_static-release.zip >> "$GITHUB_OUTPUT"
26+ fi
27+ if [[ "${{matrix.arch}}" = "win32" ]] ; then
28+ echo "clarch=amd64_x86" >> "$GITHUB_OUTPUT"
29+ else
30+ echo "clarch=x64" >> "$GITHUB_OUTPUT"
31+ fi
32+
33+ - uses : actions/checkout@v5
34+ - uses : actions/setup-python@v6
1735 - run : python --version
18- - name : Setup the compiler target win64
19- if : startsWith(matrix.arch, 'win64')
20- uses : TheMrMilchmann/setup-msvc-dev@v3
21- with :
22- arch : ' x64'
2336
24- - name : Setup the compiler target win32
25- if : startsWith(matrix.arch, 'win32')
26- uses : TheMrMilchmann/setup-msvc-dev@v3
37+ - name : Setup the compiler
38+ uses : TheMrMilchmann/setup-msvc-dev@v4
2739 with :
28- arch : ' amd64_x86'
29-
30- - name : Install ninja-build tool
31- uses : seanmiddleditch/gha-setup-ninja@v6
40+ arch : ${{steps.cfgvar.outputs.clarch}}
3241
3342 - name : Cache huge Qt repo
3443 id : cache-qt-repo
3544 uses : actions/cache@v4
3645 with :
3746 path : ${{ runner.workspace }}/qt-source
38- key : qt-source-6.9.1
39-
47+ key : qt-source-${{matrix.qtversion}}
4048 - name : Clone Qt repo and its submodules
41- working-directory : ${{ runner.workspace }}
4249 if : steps.cache-qt-repo.outputs.cache-hit != 'true'
50+ working-directory : ${{ runner.workspace }}
4351 run : |
4452 # Clone Qt6 repo
45- git clone git://code.qt.io/qt/qt5.git -b v6.9.1 --depth 1 qt-source
53+ git clone git://code.qt.io/qt/qt5.git -b ${{matrix.qtversion}} --depth 1 qt-source
4654 cd qt-source
4755 git apply ${{ github.workspace }}/0001-shadow-clone-for-submodules.patch
4856 perl init-repository.pl --shallow
5462 - name : configure Qt for static build
5563 working-directory : ${{ runner.workspace }}/qt-build
5664 run : >
57- ..\qt-source\configure.bat - ${{ matrix.buildtype }} -static -static-runtime -no-pch -optimize-size -platform win32-msvc
65+ ..\qt-source\configure.bat ${{ steps.cfgvar.outputs.buildarg }} -platform win32-msvc
5866 -prefix "..\qt-release" -confirm-license
5967 -no-feature-accessibility
6068 -no-feature-valgrind
@@ -89,18 +97,18 @@ jobs:
8997 # Create archive of the pre-built Qt binaries
9098 - name : Package binaries
9199 working-directory : ${{ runner.workspace }}/qt-release
92- run : 7z a ${{ github.workspace }}\\qt6_691_ ${{ matrix.arch }}-msvc2022_static-${{ matrix.buildtype }}.zip .
100+ run : 7z a ${{ github.workspace }}\\${{ steps.cfgvar.outputs.zip_file_name }} .
93101
94102 - name : Release
95- uses : softprops/action-gh-release@v2.2 .2
103+ uses : softprops/action-gh-release@v2.4 .2
96104 if : startsWith(github.ref, 'refs/tags/')
97105 with :
98- files : qt6_691_ ${{ matrix.arch }}-msvc2022_static-${{ matrix.buildtype }}.zip
106+ files : ${{ steps.cfgvar.outputs.zip_file_name }}
99107
100108 - name : Upload artifact
101- uses : actions/upload-artifact@v4.6.2
109+ uses : actions/upload-artifact@v5
102110 with :
103111 overwrite : true
104- name : qt6_691_ ${{ matrix.arch }}-msvc2022_static-${{ matrix.buildtype }}
112+ name : ${{ steps.cfgvar.outputs.zip_file_name }}
105113 path : ${{ runner.workspace }}/qt-release
106114
0 commit comments