mirror of
https://gitee.com/vnotex/vnote.git
synced 2025-07-05 05:49:53 +08:00
try fix win ci (#2434)
* try fix win ci * remove win32 * add more modules * fix ci * try fix linux-ci * fix linux ci * try fix rcc * fix rcc path * tree * add back qt 5 * use jom
This commit is contained in:
parent
75f7250ed1
commit
15d14359d7
39
.github/workflows/ci-linux.yml
vendored
39
.github/workflows/ci-linux.yml
vendored
@ -38,43 +38,39 @@ jobs:
|
|||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get update
|
sudo DEBIAN_FRONTEND=noninteractive apt-get update
|
||||||
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libfcitx-qt5-dev tree
|
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y libfcitx5-qt-dev tree
|
||||||
|
|
||||||
- name: Cache Qt
|
- name: Cache Qt
|
||||||
id: cache-qt
|
id: cache-qt
|
||||||
uses: actions/cache@v1 # not v2!
|
uses: actions/cache@v1 # not v2!
|
||||||
with:
|
with:
|
||||||
path: ../Qt
|
path: ../Qt
|
||||||
key: ${{ runner.os }}-QtCache-5.15
|
key: ${{ runner.os }}-QtCache-6.5
|
||||||
|
|
||||||
- name: Install Qt
|
- name: Install Qt
|
||||||
uses: jurplel/install-qt-action@v2
|
uses: jurplel/install-qt-action@v3
|
||||||
with:
|
with:
|
||||||
version: 5.15.2
|
version: 6.5.2
|
||||||
target: desktop
|
target: desktop
|
||||||
modules: qtwebengine
|
modules: 'qtwebengine qtwebchannel qtpositioning qtpdf qtimageformats qt5compat'
|
||||||
tools: tools_openssl_x64,1.1.1-4,qt.tools.openssl.gcc_64
|
cache: 'true'
|
||||||
cached: ${{ steps.cache-qt.outputs.cache-hit }}
|
|
||||||
|
|
||||||
- name: Create Build Dir
|
- name: Create Build Dir
|
||||||
run: mkdir build
|
run: mkdir build
|
||||||
working-directory: ${{runner.workspace}}
|
working-directory: ${{runner.workspace}}
|
||||||
|
|
||||||
- name: Compile qt5ct
|
- name: Compile qt6ct
|
||||||
run: |
|
run: |
|
||||||
wget --no-check-certificate -c https://versaweb.dl.sourceforge.net/project/qt5ct/qt5ct-1.1.tar.bz2
|
git clone https://github.com/trialuser02/qt6ct qt6ct.git
|
||||||
tar xf qt5ct-1.*.tar.bz2
|
cd qt6ct.git
|
||||||
cd qt5ct-1.*/
|
qmake
|
||||||
QT_SELECT=5 qmake
|
|
||||||
make -j$(nproc) && sudo make install
|
make -j$(nproc) && sudo make install
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
- name: Configure Project
|
- name: Configure Project
|
||||||
run: |
|
run: |
|
||||||
qmake -v
|
qmake -v
|
||||||
cp /usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so ./
|
# TODO: libfcitx5
|
||||||
sudo chmod +rwx ./libfcitxplatforminputcontextplugin.so
|
|
||||||
cp ./libfcitxplatforminputcontextplugin.so $Qt5_Dir/plugins/platforminputcontexts
|
|
||||||
qmake CONFIG+=release -spec linux-g++-64 ${GITHUB_WORKSPACE}/vnote.pro
|
qmake CONFIG+=release -spec linux-g++-64 ${GITHUB_WORKSPACE}/vnote.pro
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
@ -94,18 +90,21 @@ jobs:
|
|||||||
# Move the lib out to avoid duplication
|
# Move the lib out to avoid duplication
|
||||||
mv AppDir/usr/lib ./
|
mv AppDir/usr/lib ./
|
||||||
LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
|
LD_LIBRARY_PATH=$PWD/lib:$LD_LIBRARY_PATH
|
||||||
|
Qt6_Dir=$QT_HOST_BINS/..
|
||||||
|
tree $Qt6_Dir
|
||||||
|
tree $Qt6_Dir/../..
|
||||||
# Copy translations
|
# Copy translations
|
||||||
mkdir -p AppDir/usr/translations
|
mkdir -p AppDir/usr/translations
|
||||||
cp $Qt5_Dir/translations/qt_zh_CN.qm AppDir/usr/translations
|
cp $Qt6_Dir/translations/qt_zh_CN.qm AppDir/usr/translations
|
||||||
# Package qt5ct (EXTRA_QT_PLUGINS seems not work)
|
# Package qt5ct (EXTRA_QT_PLUGINS seems not work)
|
||||||
# EXTRA_QT_PLUGINS="platformthemes/libqt5ct.so;styles/libqt5ct-style.so"
|
# EXTRA_QT_PLUGINS="platformthemes/libqt5ct.so;styles/libqt5ct-style.so"
|
||||||
mkdir -p AppDir/usr/plugins/platformthemes
|
mkdir -p AppDir/usr/plugins/platformthemes
|
||||||
mkdir -p AppDir/usr/plugins/styles
|
mkdir -p AppDir/usr/plugins/styles
|
||||||
cp $Qt5_Dir/plugins/platformthemes/* AppDir/usr/plugins/platformthemes/
|
cp $Qt6_Dir/plugins/platformthemes/* AppDir/usr/plugins/platformthemes/
|
||||||
cp $Qt5_Dir/plugins/styles/* AppDir/usr/plugins/styles/
|
cp $Qt6_Dir/plugins/styles/* AppDir/usr/plugins/styles/
|
||||||
# Package libssl.so and libcrypto.so
|
# Package libssl.so and libcrypto.so
|
||||||
Qt5_Tools=$Qt5_Dir/../../Tools
|
Qt_Tools=$Qt6_Dir/../../Tools
|
||||||
linuxdeploy-x86_64.AppImage --appdir ./AppDir --plugin qt --output appimage -l $Qt5_Tools/OpenSSL/binary/lib/libcrypto.so.1.1 -l $Qt5_Tools/OpenSSL/binary/lib/libssl.so.1.1
|
linuxdeploy-x86_64.AppImage --appdir ./AppDir --plugin qt --output appimage -l $Qt_Tools/OpenSSL/binary/lib/libcrypto.so.* -l $Qt_Tools/OpenSSL/binary/lib/
|
||||||
tree AppDir
|
tree AppDir
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
79
.github/workflows/ci-win.yml
vendored
79
.github/workflows/ci-win.yml
vendored
@ -21,29 +21,21 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
config:
|
config:
|
||||||
# - {
|
|
||||||
# name: "Build On Win64 Qt 5.12",
|
|
||||||
# arch: win64_msvc2017_64,
|
|
||||||
# platform: x64,
|
|
||||||
# qt: 5.12.11
|
|
||||||
# }
|
|
||||||
# - {
|
|
||||||
# name: "Build On Win32 Qt 5.12",
|
|
||||||
# arch: win32_msvc2017,
|
|
||||||
# platform: x86,
|
|
||||||
# qt: 5.12.11
|
|
||||||
# }
|
|
||||||
- {
|
- {
|
||||||
name: "Build On Win64 Qt 5.15",
|
name: "Build On Win64 Qt 5.15",
|
||||||
arch: win64_msvc2019_64,
|
arch: win64_msvc2019_64,
|
||||||
platform: x64,
|
platform: x64,
|
||||||
qt: 5.15.2
|
qt: 5.15.2,
|
||||||
|
qt_modules: qtwebengine,
|
||||||
|
qt_tools: tools_opensslv3_x64
|
||||||
}
|
}
|
||||||
- {
|
- {
|
||||||
name: "Build On Win32 Qt 5.15",
|
name: "Build On Win64 Qt 6.5",
|
||||||
arch: win32_msvc2019,
|
arch: win64_msvc2019_64,
|
||||||
platform: x86,
|
platform: x64,
|
||||||
qt: 5.15.2
|
qt: 6.5.2,
|
||||||
|
qt_modules: "qtwebengine qtwebchannel qtpositioning qtpdf qtimageformats qt5compat",
|
||||||
|
qt_tools: tools_opensslv3_x64
|
||||||
}
|
}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@ -64,39 +56,51 @@ jobs:
|
|||||||
uses: actions/cache@v1 # not v2!
|
uses: actions/cache@v1 # not v2!
|
||||||
with:
|
with:
|
||||||
path: ../Qt
|
path: ../Qt
|
||||||
key: ${{ runner.os }}-${{matrix.config.arch}}-QtCache-5.12-1
|
key: ${{runner.os}}-${{matrix.config.arch}}-QtCache-${{matrix.config.qt}}
|
||||||
|
|
||||||
- name: Install Qt Official Build
|
- name: Install Qt Official Build
|
||||||
uses: jurplel/install-qt-action@v2
|
uses: jurplel/install-qt-action@v3
|
||||||
with:
|
with:
|
||||||
version: ${{matrix.config.qt}}
|
version: ${{matrix.config.qt}}
|
||||||
target: desktop
|
target: desktop
|
||||||
arch: ${{matrix.config.arch}}
|
arch: ${{matrix.config.arch}}
|
||||||
modules: qtwebengine
|
modules: ${{matrix.config.qt_modules}}
|
||||||
tools: tools_openssl_${{matrix.config.platform}},1.1.1-4,qt.tools.openssl.win_${{matrix.config.platform}}
|
tools: ${{matrix.config.qt_tools}}
|
||||||
cached: ${{ steps.cache-qt.outputs.cache-hit }}
|
cache: 'true'
|
||||||
|
|
||||||
- name: Create Build Dir
|
- name: Create Build Dir
|
||||||
shell: bash
|
shell: bash
|
||||||
run: mkdir build
|
run: mkdir build
|
||||||
working-directory: ${{runner.workspace}}
|
working-directory: ${{runner.workspace}}
|
||||||
|
|
||||||
- name: Clone OpenSSL
|
- name: Clone OpenSSL on 5.15
|
||||||
shell: bash
|
shell: bash
|
||||||
|
if: ${{startsWith(matrix.config.qt, '5.15')}}
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/tamlok/openssl-utils.git openssl-utils.git --depth=1
|
git clone https://github.com/tamlok/openssl-utils.git openssl-utils.git --depth=1
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
|
- name: Download JOM
|
||||||
|
uses: suisei-cn/actions-download-file@v1
|
||||||
|
with:
|
||||||
|
url: http://download.qt.io/official_releases/jom/jom.zip
|
||||||
|
target: ${{runner.temp}}\
|
||||||
|
|
||||||
|
- name: Unzip JOM
|
||||||
|
run: |
|
||||||
|
7z x jom.zip -ojom
|
||||||
|
working-directory: ${{runner.temp}}
|
||||||
|
|
||||||
- name: Configure and Build Project
|
- name: Configure and Build Project
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
qmake --version
|
qmake --version
|
||||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{matrix.config.platform}}
|
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{matrix.config.platform}}
|
||||||
qmake -r -spec win32-msvc CONFIG-=debug CONFIG+=release %GITHUB_WORKSPACE%\vnote.pro
|
qmake -r -spec win32-msvc CONFIG-=debug CONFIG+=release %GITHUB_WORKSPACE%\vnote.pro
|
||||||
nmake
|
${{runner.temp}}\jom\jom
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
|
||||||
- name: Package Project
|
- name: Package Project 1
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
qmake --version
|
qmake --version
|
||||||
@ -107,15 +111,28 @@ jobs:
|
|||||||
copy .\src\release\vnote_extra.rcc "%DISTRIB_PATH%\vnote_extra.rcc"
|
copy .\src\release\vnote_extra.rcc "%DISTRIB_PATH%\vnote_extra.rcc"
|
||||||
copy .\libs\vtextedit\src\libs\syntax-highlighting\release\VSyntaxHighlighting.dll "%DISTRIB_PATH%\VSyntaxHighlighting.dll"
|
copy .\libs\vtextedit\src\libs\syntax-highlighting\release\VSyntaxHighlighting.dll "%DISTRIB_PATH%\VSyntaxHighlighting.dll"
|
||||||
copy .\libs\vtextedit\src\editor\release\VTextEdit.dll "%DISTRIB_PATH%\VTextEdit.dll"
|
copy .\libs\vtextedit\src\editor\release\VTextEdit.dll "%DISTRIB_PATH%\VTextEdit.dll"
|
||||||
rem set qt_dir=%Qt5_Dir:/=\%
|
copy "%GITHUB_WORKSPACE%\package\qt.conf" "%DISTRIB_PATH%\qt.conf"
|
||||||
rem for %%I in ("%qt_dir%\..\..") do set "qt_topdir=%%~fI"
|
|
||||||
rem set openssl_dir=%qt_topdir%\Tools\OpenSSL\Win_${{matrix.config.platform}}\bin
|
|
||||||
set openssl_dir=openssl-utils.git\1.1.1j\Win_${{matrix.config.platform}}
|
|
||||||
copy %openssl_dir%\lib*.dll "%DISTRIB_PATH%\"
|
|
||||||
copy "%GITHUB_WORKSPACE%\README.md" "%DISTRIB_PATH%\README.md"
|
copy "%GITHUB_WORKSPACE%\README.md" "%DISTRIB_PATH%\README.md"
|
||||||
copy "%GITHUB_WORKSPACE%\COPYING.LESSER" "%DISTRIB_PATH%\COPYING.LESSER"
|
copy "%GITHUB_WORKSPACE%\COPYING.LESSER" "%DISTRIB_PATH%\COPYING.LESSER"
|
||||||
echo %GITHUB_SHA% > "%DISTRIB_PATH%\commit"
|
echo %GITHUB_SHA% > "%DISTRIB_PATH%\commit"
|
||||||
del /F /Q "%DISTRIB_PATH%\translations\qt_*.qm"
|
del /F /Q "%DISTRIB_PATH%\translations\qt_*.qm"
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
env:
|
||||||
|
DISTRIB_PATH: ${{runner.workspace}}/build/distrib/vnote
|
||||||
|
|
||||||
|
- name: "Package Project: Copy OpenSSL on 5.15"
|
||||||
|
shell: cmd
|
||||||
|
if: ${{startsWith(matrix.config.qt, '5.15')}}
|
||||||
|
run: |
|
||||||
|
set openssl_dir=openssl-utils.git\1.1.1j\Win_${{matrix.config.platform}}
|
||||||
|
copy %openssl_dir%\lib*.dll "%DISTRIB_PATH%\"
|
||||||
|
working-directory: ${{runner.workspace}}/build
|
||||||
|
env:
|
||||||
|
DISTRIB_PATH: ${{runner.workspace}}/build/distrib/vnote
|
||||||
|
|
||||||
|
- name: Package Project 2
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
7z a vnote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}.zip "%DISTRIB_PATH%"
|
7z a vnote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}.zip "%DISTRIB_PATH%"
|
||||||
copy vnote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}.zip vnote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}_v${{env.VNOTE_VER}}.zip
|
copy vnote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}.zip vnote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}_v${{env.VNOTE_VER}}.zip
|
||||||
working-directory: ${{runner.workspace}}/build
|
working-directory: ${{runner.workspace}}/build
|
||||||
@ -123,6 +140,7 @@ jobs:
|
|||||||
DISTRIB_PATH: ${{runner.workspace}}/build/distrib/vnote
|
DISTRIB_PATH: ${{runner.workspace}}/build/distrib/vnote
|
||||||
|
|
||||||
- name: Package Installer
|
- name: Package Installer
|
||||||
|
if: ${{startsWith(matrix.config.qt, '6.')}}
|
||||||
shell: cmd
|
shell: cmd
|
||||||
run: |
|
run: |
|
||||||
copy "%GITHUB_WORKSPACE%\src\data\core\icons\vnote.ico" "%DISTRIB_PATH%\vnote.ico"
|
copy "%GITHUB_WORKSPACE%\src\data\core\icons\vnote.ico" "%DISTRIB_PATH%\vnote.ico"
|
||||||
@ -143,6 +161,7 @@ jobs:
|
|||||||
DISTRIB_PATH: ${{runner.workspace}}/build/distrib/vnote
|
DISTRIB_PATH: ${{runner.workspace}}/build/distrib/vnote
|
||||||
|
|
||||||
- name: Archive Installer
|
- name: Archive Installer
|
||||||
|
if: ${{startsWith(matrix.config.qt, '6.')}}
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
with:
|
with:
|
||||||
name: VNote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}_v${{env.VNOTE_VER}}.msi
|
name: VNote-win-${{matrix.config.platform}}-qt${{matrix.config.qt}}_v${{env.VNOTE_VER}}.msi
|
||||||
|
2
package/qt.conf
Normal file
2
package/qt.conf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[Platforms]
|
||||||
|
WindowsArguments = fontengine=freetype
|
@ -79,8 +79,8 @@ win32 {
|
|||||||
rcc_binary.commands = $$shell_path($$[QT_HOST_BINS]/rcc.exe) -name ${QMAKE_FILE_IN_BASE} -binary ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
rcc_binary.commands = $$shell_path($$[QT_HOST_BINS]/rcc.exe) -name ${QMAKE_FILE_IN_BASE} -binary ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
||||||
rcc_binary.depend_command = $$shell_path($$[QT_HOST_BINS]/rcc.exe) -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
|
rcc_binary.depend_command = $$shell_path($$[QT_HOST_BINS]/rcc.exe) -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
|
||||||
} else {
|
} else {
|
||||||
rcc_binary.commands = $$[QT_HOST_BINS]/rcc -name ${QMAKE_FILE_IN_BASE} -binary ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
rcc_binary.commands = $$[QT_HOST_LIBEXECS]/rcc -name ${QMAKE_FILE_IN_BASE} -binary ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
|
||||||
rcc_binary.depend_command = $$[QT_HOST_BINS]/rcc -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
|
rcc_binary.depend_command = $$[QT_HOST_LIBEXECS]/rcc -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN}
|
||||||
}
|
}
|
||||||
rcc_binary.input = RCC_BINARY_SOURCES
|
rcc_binary.input = RCC_BINARY_SOURCES
|
||||||
rcc_binary.output = $$SRC_DESTDIR/vnote_${QMAKE_FILE_IN_BASE}.rcc
|
rcc_binary.output = $$SRC_DESTDIR/vnote_${QMAKE_FILE_IN_BASE}.rcc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user