55 pull_request :
66 branches : [ master ]
77
8+ env :
9+ QtVersion : 6.2.4
10+ QtTools : ' desktop,tools_ifw,qt.tools.ifw.43'
11+ QtKey : " 6.2.4-ifw_43"
12+ BuildType : RelWithDebInfo
13+ ff7tkVersion : continuous
14+
815jobs :
916 main_build :
1017 name : ${{ matrix.config.name }}
1118 runs-on : ${{ matrix.config.os }}
12- env :
13- BUILD_TYPE : RelWithDebInfo
14- Qt_Tools : ' desktop,tools_ifw,qt.tools.ifw.43'
15- Qt_Tools_Key : " ifw_43"
1619 strategy :
1720 fail-fast : false
1821 matrix :
1922 config :
2023 - {
21- name : " Linux-Qt5-amd64"
22- , os: ubuntu-18.04
23- , QT_VERSION: 5.15.2, QT_INST_DIR: /opt, Qt_TOOL_PATH: "/opt/Qt/Tools/QtInstallerFramework/4.3"
24- , extraCmakeConfig: "-DQT_DEFAULT_MAJOR_VERSION=5"
25- , packageName: ff7tk-continuous-Qt5-Linux
26- , releasePackage: "ff7tk-continuous-Qt5-Linux.tar.xz"
27- }
28- - {
29- name : " Linux-Qt6-amd64"
24+ name : " Linux-amd64"
3025 , os: ubuntu-20.04
31- , QT_VERSION: 6.2.4, QT_INST_DIR: /opt, QT_MODULES: qt5compat, Qt_TOOL_PATH: "/opt/Qt/Tools/QtInstallerFramework/4.3"
32- , extraCmakeConfig: "-DQT_DEFAULT_MAJOR_VERSION=6"
33- , packageName: ff7tk-continuous-Qt6-Linux
34- , linuxDeployQtPath: "export PATH=$PATH:/opt/Qt/6.2.4/gcc_64/libexec"
35- , releasePackage: "ff7tk-continuous-Qt6-Linux.tar.xz"
26+ , QT_INST_DIR: /opt, Qt_TOOL_PATH: "/opt/Qt/Tools/QtInstallerFramework/4.3"
27+ , packageName: "ff7tk-continuous-linux-amd64"
3628 }
3729 - {
38- name : " MacOS-Qt5- amd64"
30+ name : " MacOS-amd64"
3931 , os: macos-10.15
40- , QT_VERSION: 5.15.2, QT_INST_DIR: /Users/runner, Qt_TOOL_PATH: "/Users/runner/Qt/Tools/QtInstallerFramework/4.3"
41- , extraCmakeConfig: "-DQT_DEFAULT_MAJOR_VERSION=5"
42- }
43- - {
44- name : " MacOS-Qt6-amd64"
45- , os: macos-10.15
46- , QT_VERSION: 6.2.4, QT_INST_DIR: /Users/runner, QT_MODULES: qt5compat, Qt_TOOL_PATH: "/Users/runner/Qt/Tools/QtInstallerFramework/4.3"
47- , extraCmakeConfig: "-DQT_DEFAULT_MAJOR_VERSION=6"
48- }
49- - {
50- name : " Windows-Qt5-x64" , WIN_ARCH: "x64"
51- , os: windows-2019
52- , QT_VERSION: 5.15.2, QT_INST_DIR: "C:/", QT_ARCH: win64_msvc2019_64, Qt_TOOL_PATH: "C:/Qt/Tools/QtInstallerFramework/4.3"
53- , extraCmakeConfig: "-DZLIB_ROOT=C:/zlib -G Ninja -DQT_DEFAULT_MAJOR_VERSION=5"
32+ , QT_INST_DIR: /Users/runner, Qt_TOOL_PATH: "/Users/runner/Qt/Tools/QtInstallerFramework/4.3"
5433 }
5534 - {
56- name : " Windows-Qt6-x64 " , WIN_ARCH: " x64"
35+ name : " Windows-x64"
5736 , os: windows-2019
58- , QT_VERSION: 6.2.4, QT_INST_DIR: "C:/", QT_ARCH: win64_msvc2019_64, QT_MODULES: qt5compat , Qt_TOOL_PATH: "C:/Qt/Tools/QtInstallerFramework/4.3"
59- , extraCmakeConfig: "-DZLIB_ROOT=C:/zlib -G Ninja -DQT_DEFAULT_MAJOR_VERSION=6 "
37+ , QT_INST_DIR: "C:" , Qt_TOOL_PATH: "C:/Qt/Tools/QtInstallerFramework/4.3"
38+ , extraCmakeConfig: "-DZLIB_ROOT=C:/zlib -G Ninja"
6039 }
61- - {
62- name : " Windows-Qt5-x86"
63- , os: windows-2019, WIN_ARCH: "amd64_x86"
64- , QT_VERSION: 5.15.2, QT_INST_DIR: "C:/", QT_ARCH: win32_msvc2019, Qt_TOOL_PATH: "C:/Qt/Tools/QtInstallerFramework/4.3"
65- , extraCmakeConfig: "-DZLIB_ROOT=C:/zlib -G Ninja -DQT_DEFAULT_MAJOR_VERSION=5"
66- }
67-
6840
6941 steps :
7042 - uses : actions/checkout@v3
7143 with :
7244 fetch-depth : 0
45+ - run : git fetch --tags --force
7346 - name : Cache Qt
7447 id : cache-qt
7548 uses : actions/cache@v2
7649 with :
7750 path : ${{matrix.config.QT_INST_DIR}}/Qt
78- key : ${{ runner.os }}${{ matrix.config.WIN_ARCH }}-qt-${{ matrix.config.QT_VERSION }}-${{ env.Qt_Tools_Key }}
51+ key : ${{ runner.os }}${{ matrix.config.WIN_ARCH }}-qt-${{ env.QtKey }}
7952
8053 - name : Cache Zlib
8154 id : cache-zlib
10174 - name : Env Script (Windows)
10275 uses : ilammy/msvc-dev-cmd@v1
10376 if : runner.os == 'Windows'
104- with :
105- arch : ${{matrix.config.WIN_ARCH}}
10677
10778 - name : Install Dependencies
10879 if : ((runner.os == 'Windows') && (steps.cache-choco.outputs.cache-hit != 'true')) || (runner.os != 'Windows')
@@ -122,27 +93,26 @@ jobs:
12293 aqtversion : ==2.0.0
12394 py7zrversion : ==0.16.2
12495 dir : ${{matrix.config.QT_INST_DIR}}
125- arch : ${{ matrix.config.QT_ARCH }}
126- version : ${{ matrix.config.QT_VERSION }}
127- modules : ${{ matrix.config.QT_MODULES }}
96+ version : ${{ env.QtVersion }}
97+ modules : qt5compat
12898 cached : ${{ steps.cache-qt.outputs.cache-hit }}
129- tools : ${{env.Qt_Tools }}
99+ tools : ${{env.QtTools }}
130100
131101 - name : Install Zlib (Windows)
132102 if : (runner.os == 'Windows') && (steps.cache-zlib.outputs.cache-hit != 'true')
133103 run : |
134104 git clone -q --branch=v1.2.11 https://github.com/madler/zlib ${{github.workspace}}\zlib-git
135- cmake -S${{github.workspace}}\zlib-git -B${{github.workspace}}\zlib-git\build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=C:/zlib
136- cmake --build ${{github.workspace}}\zlib-git\build --config ${{env.BUILD_TYPE}}
105+ cmake -S${{github.workspace}}\zlib-git -B${{github.workspace}}\zlib-git\build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=C:/zlib
106+ cmake --build ${{github.workspace}}\zlib-git\build --config Release
137107 cmake --install ${{github.workspace}}\zlib-git\build --strip
138108 mkdir D:\a\ff7tk\ff7tk\build\src\utils
139109 copy "C:\zlib\bin\zlib.dll" D:\a\ff7tk\ff7tk\build\src\utils
140110
141111 - name : Build ff7tk
142112 id : main_build
143113 run : |
144- cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE }} -DBUILD_DEMOS=ON -DCPACK_PACKAGE_VERSION=continuous -DCPACK_IFW_ROOT=${{matrix.config.Qt_TOOL_PATH}} ${{matrix.config.extraCmakeConfig}}
145- cmake --build build --config ${{env.BUILD_TYPE }} --target package
114+ cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{env.BuildType }} -DBUILD_DEMOS=ON -DCPACK_PACKAGE_VERSION=${{env.ff7tkVersion}} -DQT_DEFAULT_MAJOR_VERSION=6 -DCPACK_IFW_ROOT=${{matrix.config.Qt_TOOL_PATH}} ${{matrix.config.extraCmakeConfig}}
115+ cmake --build build --config ${{env.BuildType }} --target package
146116
147117 - name : Deployment (Linux)
148118 if : runner.os == 'Linux'
@@ -155,8 +125,9 @@ jobs:
155125 wget -qc "https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage"
156126 chmod a+x linuxdeploy*.AppImage
157127 rm -rf ff7tk/usr/share/applications ff7tk/usr/share/pixmaps
158- export VERSION=continuous
128+ export VERSION=${{env.ff7tkVersion}}
159129 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${{matrix.config.packageName}}/usr/lib
130+ export PATH=$PATH:${{matrix.config.QT_INST_DIR}}/Qt/${{ env.QtVersion }}/gcc_64/libexec
160131 ${{matrix.config.linuxDeployQtPath}}
161132 ./linuxdeploy-x86_64.AppImage --appdir=widgetGallery --plugin=qt --output appimage \
162133 -e ${{matrix.config.packageName}}/usr/bin/ff7tkWidgetGallery \
@@ -171,10 +142,10 @@ jobs:
171142 mv ff7tk/usr/COPYING.TXT ${{matrix.config.packageName}}/
172143 mv ff7tk/ ${{matrix.config.packageName}}
173144 rm -rf ${{matrix.config.packageName}}/usr
174- tar -zcvf build/${{ matrix.config.releasePackage}} ${{matrix.config.packageName}}
145+ tar -zcvf build/${{ matrix.config.packageName}}.tar.xz ${{matrix.config.packageName}}
175146
176147 - name : Deploy Pages
177- if : runner.os == 'Linux' && github.ref == 'refs/heads/master' && matrix.config.QT_VERSION == '5.15.2'
148+ if : runner.os == 'Linux' && github.ref == 'refs/heads/master'
178149 uses : JamesIves/github-pages-deploy-action@4.1.4
179150 with :
180151 branch : gh-pages
@@ -195,30 +166,19 @@ jobs:
195166 matrix :
196167 config :
197168 - {
198- name : " Linux-Qt6-aarch64"
199- , qt: 6, qtString: "Qt6", cmakeExtraConfig: "-DQT_DEFAULT_MAJOR_VERSION=6"
169+ name : " Linux-aarch64"
200170 , arch: aarch64, distro: archarm_latest
201171 }
202172 - {
203- name : " Linux-Qt6-armv7"
204- , qt: 6, qtString: "Qt6", cmakeExtraConfig: "-DQT_DEFAULT_MAJOR_VERSION=6 -DDOCS=OFF"
173+ name : " Linux-armv7"
205174 , arch: armv7, distro: archarm_latest
175+ , cmakeExtraConfig: "-DDOCS=OFF"
206176 }
207- - {
208- name : " Linux-Qt5-aarch64"
209- , qt: 5, qtString: "Qt5", cmakeExtraConfig: "-DQT_DEFAULT_MAJOR_VERSION=5"
210- , arch: aarch64, distro: bullseye
211- }
212- - {
213- name : " Linux-Qt5-armv7"
214- , qt: 5, qtString: "Qt5", cmakeExtraConfig: "-DQT_DEFAULT_MAJOR_VERSION=5"
215- , arch: armv7, distro: bullseye
216- }
217-
218177 steps :
219178 - uses : actions/checkout@v3
220179 with :
221180 fetch-depth : 0
181+ - run : git fetch --tags --force
222182 - uses : uraimo/run-on-arch-action@v2.1.1
223183 name : Build artifact
224184 id : build
@@ -230,23 +190,12 @@ jobs:
230190 dockerRunArgs : --volume "${PWD}/artifacts:/artifacts"
231191 shell : /bin/sh
232192 install : |
233- case "${{ matrix.config.distro }}" in
234- bullseye)
235- apt-get update -y
236- apt-get upgrade -y
237- apt-get install -y build-essential git zlib1g-dev wget doxygen graphviz qtbase5-dev libqt5svg5-dev qttools5-dev-tools qtbase5-dev-tools qt5-qmake qtdeclarative5-dev devscripts libssl-dev qttools5-dev qtquickcontrols2-5-dev
238- wget https://github.com/sithlord48/fresh-debian-cmake/releases/download/3.22.1/cmake-3.22.1-bullseye_${{matrix.config.arch}}.tar.gz
239- tar -xf cmake-3.22.1-bullseye_${{matrix.config.arch}}.tar.gz --strip-components=3 --one-top-level=/usr
240- ;;
241- arch*)
242193 pacman -Syu --noconfirm
243194 pacman -S base-devel cmake git zlib wget doxygen qt6-tools qt6-base qt6-5compat qt6-declarative qt6-svg clang graphviz --noconfirm
244- ;;
245- esac
246195
247196 run : |
248- cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DBUILD_DEMOS=ON -DCPACK_PACKAGE_VERSION=continuous ${{matrix.config.cmakeExtraConfig}}
249- cmake --build build --config Release --target package
197+ cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=${{env.BuildType}} -DBUILD_DEMOS=ON -DCPACK_PACKAGE_VERSION=${{env.ff7tkVersion}} -DQT_DEFAULT_MAJOR_VERSION=6 ${{matrix.config.cmakeExtraConfig}}
198+ cmake --build build --config ${{env.BuildType}} --target package
250199 mv build/ff7tk* /artifacts/
251200 rm /artifacts/ff7tk.pc
252201
0 commit comments