update
This commit is contained in:
parent
6a23b04422
commit
7c7d46b32d
|
@ -2,62 +2,73 @@ name: MacOS
|
|||
on:
|
||||
push:
|
||||
paths:
|
||||
- '*.pro'
|
||||
- '*.txt'
|
||||
- 'example/**'
|
||||
- 'src/**'
|
||||
- 'scripts/**'
|
||||
- '.github/workflows/macos.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- '*.pro'
|
||||
- '*.txt'
|
||||
- 'example/**'
|
||||
- 'src/**'
|
||||
- 'scripts/**'
|
||||
- '.github/workflows/macos.yml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [macos-11.0]
|
||||
os: [macos-12]
|
||||
qt_ver: [5.15.2]
|
||||
qt_arch: [clang_64]
|
||||
env:
|
||||
targetName: example
|
||||
steps:
|
||||
# macos 11.0 默认环境变了,要指定
|
||||
- name: prepare env
|
||||
if: ${{ matrix.os == 'macos-11.0' }}
|
||||
run: |
|
||||
softwareupdate --all --install --force
|
||||
sudo xcode-select --print-path
|
||||
sudo xcode-select --switch /Library/Developer/CommandLineTools
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ matrix.qt_ver }}
|
||||
cached: 'false'
|
||||
- uses: actions/checkout@v2
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: ${{ matrix.qt_ver }}
|
||||
cache: ${{steps.cache-qt.outputs.cache-hit}}
|
||||
arch: ${{ matrix.qt_arch }}
|
||||
modules: 'qt5compat qtmultimedia qtshadertools qtimageformats'
|
||||
|
||||
- name: Set up Ninja
|
||||
uses: seanmiddleditch/gha-setup-ninja@v3
|
||||
with:
|
||||
version: 1.10.2
|
||||
|
||||
- name: build macos
|
||||
run: |
|
||||
qmake
|
||||
make
|
||||
# 打包
|
||||
cmake --version
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=/Users/runner/work/FluentUI/Qt/5.15.2/macos -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -GNinja ..
|
||||
cmake --build . --target all --config Release --parallel
|
||||
|
||||
- name: package
|
||||
run: |
|
||||
# 拷贝依赖
|
||||
macdeployqt bin/release/${targetName}.app -qmldir=. -verbose=1 -dmg
|
||||
# 上传artifacts
|
||||
macdeployqt bin/release/${targetName}.app -qmldir=. -verbose=1 -dmg
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ env.targetName }}_${{ matrix.os }}_${{matrix.qt_ver}}.zip
|
||||
path: bin/release/${{ env.targetName }}.app
|
||||
# tag 上传Release
|
||||
|
||||
- name: uploadRelease
|
||||
if: startsWith(github.event.ref, 'refs/tags/')
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: bin/release/${{ env.targetName }}.dmg
|
||||
asset_name: ${{ env.targetName }}_${{ matrix.os }}_${{ matrix.qt_ver }}.dmg
|
||||
asset_name: ${{ env.targetName }}_${{ github.ref_name }}_${{ matrix.os }}_Qt${{ matrix.qt_ver }}.dmg
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
|
@ -1,17 +1,21 @@
|
|||
name: Ubuntu
|
||||
# Qt官方没有linux平台的x86包
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
paths:
|
||||
- '*.pro'
|
||||
- '*.txt'
|
||||
- 'src/**'
|
||||
- 'example/**'
|
||||
- 'scripts/**'
|
||||
- '.github/workflows/ubuntu.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- '*.pro'
|
||||
- '*.txt'
|
||||
- 'src/**'
|
||||
- '.github/workflows/ubuntu.yml'
|
||||
- 'example/**'
|
||||
- 'scripts/**'
|
||||
- '.github/workflows/ubuntu.yml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
|
@ -24,44 +28,63 @@ jobs:
|
|||
env:
|
||||
targetName: example
|
||||
steps:
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{ matrix.qt_ver }}
|
||||
cached: 'false'
|
||||
- name: ubuntu install GL library
|
||||
run: sudo apt-get install -y libgl1-mesa-dev libxcb1-dev libgtk-3-dev libxkbcommon-x11-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-sync-dev libxcb-render-util0-dev libxcb-shm0-dev
|
||||
- uses: actions/checkout@v2
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: ${{ matrix.qt_ver }}
|
||||
cache: ${{steps.cache-qt.outputs.cache-hit}}
|
||||
arch: ${{ matrix.qt_arch }}
|
||||
modules: 'qt5compat qtmultimedia qtshadertools qtimageformats'
|
||||
|
||||
- name: Set up Ninja
|
||||
uses: seanmiddleditch/gha-setup-ninja@v3
|
||||
with:
|
||||
version: 1.10.2
|
||||
|
||||
- name: ubuntu install GL library
|
||||
run: sudo apt-get install -y libxcb-cursor0 libgl1-mesa-dev libxcb1-dev libgtk-3-dev libxkbcommon-x11-dev libxcb-icccm4-dev libxcb-image0-dev libxcb-keysyms1-dev libxcb-randr0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxcb-xinerama0-dev libxcb-sync-dev libxcb-render-util0-dev libxcb-shm0-dev
|
||||
|
||||
- name: build ubuntu
|
||||
run: |
|
||||
qmake
|
||||
make
|
||||
ninja --version
|
||||
cmake --version
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=/home/runner/work/FluentUI/Qt/5.15.2/gcc_64 -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -GNinja ..
|
||||
cmake --build . --target all --config Release --parallel
|
||||
|
||||
- name: install QT linux deploy
|
||||
uses: miurahr/install-linuxdeploy-action@v1
|
||||
with:
|
||||
plugins: qt appimage
|
||||
# 打包
|
||||
|
||||
- name: Check if svg file exists
|
||||
run: if [ ! -f "${targetName}.svg" ]; then echo "File not found, creating..."; touch ${targetName}.svg; fi
|
||||
|
||||
- name: package
|
||||
run: |
|
||||
# make sure Qt plugin finds QML sources so it can deploy the imported files
|
||||
export QML_SOURCES_PATHS=src
|
||||
export QML_SOURCES_PATHS=./
|
||||
# 拷贝依赖
|
||||
linuxdeploy-x86_64.AppImage --plugin=qt --output=appimage --create-desktop-file --icon-file=${targetName}.svg --executable=bin/release/${targetName} --appdir bin/release/
|
||||
mv ${{ env.targetName }}-*.AppImage ${{ env.targetName }}.AppImage
|
||||
# 上传artifacts
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ env.targetName }}_${{ matrix.os }}_${{matrix.qt_ver}}
|
||||
path: ${{ env.targetName }}.AppImage
|
||||
# tag 上传Release
|
||||
|
||||
- name: uploadRelease
|
||||
if: startsWith(github.event.ref, 'refs/tags/')
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ env.targetName }}.AppImage
|
||||
asset_name: ${{ env.targetName }}_${{ matrix.os }}_${{ matrix.qt_ver }}.AppImage
|
||||
asset_name: ${{ env.targetName }}_${{ github.ref_name }}_${{ matrix.os }}_Qt${{ matrix.qt_ver }}.AppImage
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
|
@ -1,69 +1,63 @@
|
|||
name: Windows
|
||||
on:
|
||||
# push代码时触发workflow
|
||||
push:
|
||||
paths:
|
||||
- '*.pro'
|
||||
- '*.txt'
|
||||
- 'src/**'
|
||||
- 'example/**'
|
||||
- 'scripts/**'
|
||||
- '.github/workflows/windows.yml'
|
||||
pull_request:
|
||||
paths:
|
||||
- '*.pro'
|
||||
- '*.txt'
|
||||
- 'example/**'
|
||||
- 'src/**'
|
||||
- '.github/workflows/windows.yml'
|
||||
- 'scripts/**'
|
||||
- '.github/workflows/windows.yml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
# 运行平台, windows-latest目前是windows server 2019
|
||||
# 参考文档 https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md
|
||||
runs-on: windows-2019
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
# 矩阵配置
|
||||
matrix:
|
||||
os: [windows-2019]
|
||||
include:
|
||||
# 5.15.2 参考 https://mirrors.cloud.tencent.com/qt/online/qtsdkrepository/windows_x86/desktop/qt5_5152/
|
||||
- qt_ver: 5.15.2
|
||||
qt_arch: win32_msvc2019
|
||||
msvc_arch: x86
|
||||
qt_arch_install: msvc2019
|
||||
- qt_ver: 5.15.2
|
||||
- qt_ver: 5.15.2
|
||||
qt_arch: win64_msvc2019_64
|
||||
msvc_arch: x64
|
||||
qt_arch_install: msvc2019_64
|
||||
env:
|
||||
targetName: example.exe
|
||||
fileName: example
|
||||
# 步骤
|
||||
steps:
|
||||
# 安装Qt
|
||||
- name: Install Qt
|
||||
# 使用外部action。这个action专门用来安装Qt
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
# Version of Qt to install
|
||||
version: ${{ matrix.qt_ver }}
|
||||
# Target platform for build
|
||||
# target: ${{ matrix.qt_target }}
|
||||
arch: ${{ matrix.qt_arch }}
|
||||
cached: 'false'
|
||||
aqtversion: '==2.0.5'
|
||||
# 拉取代码
|
||||
- uses: actions/checkout@v2
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
submodules: recursive
|
||||
# msvc编译
|
||||
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v3
|
||||
with:
|
||||
version: ${{ matrix.qt_ver }}
|
||||
arch: ${{ matrix.qt_arch }}
|
||||
cache: ${{steps.cache-qt.outputs.cache-hit}}
|
||||
modules: 'qt5compat qtmultimedia qtshadertools qtimageformats qtspeech'
|
||||
|
||||
- name: msvc-build
|
||||
id: build
|
||||
shell: cmd
|
||||
run: |
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" ${{ matrix.msvc_arch }}
|
||||
qmake
|
||||
nmake
|
||||
mkdir build
|
||||
cd build
|
||||
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=D:\a\FluentUI\Qt\6.5.0\msvc2019_64 -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DCMAKE_BUILD_TYPE=Release -GNinja ..
|
||||
cmake --build . --target all --config Release --parallel
|
||||
echo winSdkDir=%WindowsSdkDir% >> %GITHUB_ENV%
|
||||
echo winSdkVer=%WindowsSdkVersion% >> %GITHUB_ENV%
|
||||
echo vcToolsInstallDir=%VCToolsInstallDir% >> %GITHUB_ENV%
|
||||
echo vcToolsRedistDir=%VCToolsRedistDir% >> %GITHUB_ENV%
|
||||
# 打包
|
||||
|
||||
- name: package
|
||||
id: package
|
||||
env:
|
||||
|
@ -74,20 +68,19 @@ jobs:
|
|||
& scripts\windows-publish.ps1 ${env:archiveName} ${env:targetName}
|
||||
# 记录packageName给后续step
|
||||
$name = ${env:archiveName}
|
||||
echo "::set-output name=packageName::$name"
|
||||
# tag 查询github-Release
|
||||
# 上传artifacts
|
||||
echo "::set-output name=packageName::$name"
|
||||
|
||||
- uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{ steps.package.outputs.packageName }}
|
||||
path: ${{ steps.package.outputs.packageName }}
|
||||
# tag 上传Release
|
||||
|
||||
- name: uploadRelease
|
||||
if: startsWith(github.event.ref, 'refs/tags/')
|
||||
uses: svenstaro/upload-release-action@v2
|
||||
with:
|
||||
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
file: ${{ steps.package.outputs.packageName }}.zip
|
||||
asset_name: ${{ steps.package.outputs.packageName }}.zip
|
||||
asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.zip
|
||||
tag: ${{ github.ref }}
|
||||
overwrite: true
|
Loading…
Reference in New Issue