1
0
mirror of https://github.com/jaredtao/TaoQuick.git synced 2025-01-31 21:22:58 +08:00
TaoQuick/.github/workflows/windows.yml

148 lines
5.4 KiB
YAML
Raw Normal View History

2020-12-01 17:55:40 +08:00
# 参考文档 https://docs.github.com/en/free-pro-team@latest/actions/
2019-12-07 15:45:19 +08:00
name: Windows
on:
# push代码时触发workflow
push:
paths-ignore:
2020-12-01 17:55:40 +08:00
- '*.md'
2019-12-07 15:45:19 +08:00
- 'LICENSE'
2020-12-01 17:55:40 +08:00
- "doc/**"
- "preview/**"
2020-12-01 20:42:49 +08:00
- ".github/workflows/android.yml"
- ".github/workflows/ios.yml"
- ".github/workflows/macos.yml"
- ".github/workflows/ubuntu.yml"
2019-12-07 15:45:19 +08:00
# pull_request时触发workflow
pull_request:
paths-ignore:
- 'README.md'
- 'LICENSE'
2020-12-01 17:55:40 +08:00
- "doc/**"
- "preview/**"
2020-12-01 20:42:49 +08:00
- ".github/workflows/android.yml"
- ".github/workflows/ios.yml"
- ".github/workflows/macos.yml"
- ".github/workflows/ubuntu.yml"
2019-12-07 15:45:19 +08:00
jobs:
build:
name: Build
2020-12-01 17:55:40 +08:00
# 运行平台, windows-latest目前是windows server 2019
# 参考文档 https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md
runs-on: windows-2019
2019-12-07 15:45:19 +08:00
strategy:
# 矩阵配置
matrix:
include:
2020-12-01 17:55:40 +08:00
# 5.9.9 参考 https://mirrors.cloud.tencent.com/qt/online/qtsdkrepository/windows_x86/desktop/qt5_599/
- qt_ver: 5.9.9
qt_arch: win32_msvc2015
msvc_arch: x86
qt_arch_install: msvc2015
- qt_ver: 5.9.9
qt_arch: win64_msvc2017_64
2019-12-07 15:45:19 +08:00
msvc_arch: x64
qt_arch_install: msvc2017_64
2020-12-01 17:55:40 +08:00
# 5.12.10 参考 https://mirrors.cloud.tencent.com/qt/online/qtsdkrepository/windows_x86/desktop/qt5_51210/
- qt_ver: 5.12.10
qt_arch: win32_msvc2017
2019-12-07 15:45:19 +08:00
msvc_arch: x86
qt_arch_install: msvc2017
2020-12-01 17:55:40 +08:00
- qt_ver: 5.12.10
qt_arch: win64_msvc2017_64
msvc_arch: x64
qt_arch_install: msvc2017_64
# 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_arch: win64_msvc2019_64
msvc_arch: x64
qt_arch_install: msvc2019_64
2019-12-07 15:45:19 +08:00
env:
2020-10-21 20:12:56 +08:00
targetName: TaoQuickShow.exe
2019-12-07 15:45:19 +08:00
# 步骤
steps:
2020-12-01 17:55:40 +08:00
# - name: cacheQt
# id: WindowsCacheQt
# uses: actions/cache@v1
# with:
# path: ../Qt/${{matrix.qt_ver}}/${{matrix.qt_arch_install}}
# key: ${{ runner.os }}-Qt/${{matrix.qt_ver}}/${{matrix.qt_arch}}
2020-06-15 09:08:00 +08:00
# - name: setupQt
# if: steps.WindowsCacheQt.outputs.cache-hit == 'true'
# shell: pwsh
# env:
# QtPath: ../Qt/${{matrix.qt_ver}}/${{matrix.qt_arch_install}}
# run: |
# $qt_Path=${env:QtPath}
# echo "::set-env name=Qt5_Dir::$qt_Path"
# echo "::add-path::$qt_Path/bin"
2019-12-07 15:45:19 +08:00
# 安装Qt
- name: Install Qt
2020-06-15 09:08:00 +08:00
# if: steps.WindowsCacheQt.outputs.cache-hit != 'true'
2019-12-07 15:45:19 +08:00
# 使用外部action。这个action专门用来安装Qt
2020-12-01 21:08:35 +08:00
uses: jurplel/install-qt-action@v2.7.1
2019-12-07 15:45:19 +08:00
with:
# Version of Qt to install
version: ${{ matrix.qt_ver }}
# Target platform for build
2020-12-01 21:14:33 +08:00
# target: ${{ matrix.qt_target }}
2020-12-01 21:08:35 +08:00
# dir: 'C:\'
2019-12-07 15:45:19 +08:00
# Architecture for Windows/Android
arch: ${{ matrix.qt_arch }}
2020-12-01 21:00:50 +08:00
# aqtversion: '==0.7.9'
2020-12-01 20:58:19 +08:00
# dir: 'C:/QtPath'
2020-12-01 20:01:44 +08:00
# dir: ${{ github.workspace }}
2020-12-01 20:23:57 +08:00
# dir: '${{ github.workspace }}'
2020-12-01 17:55:40 +08:00
# cached: ${{ steps.WindowsCacheQt.outputs.cache-hit }}
cached: 'false'
2019-12-07 15:45:19 +08:00
# 拉取代码
- uses: actions/checkout@v1
with:
fetch-depth: 1
# 编译msvc
- name: build-msvc
shell: cmd
env:
vc_arch: ${{ matrix.msvc_arch }}
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %vc_arch%
qmake
nmake
# tag 打包
- name: package
if: startsWith(github.event.ref, 'refs/tags/')
env:
VCINSTALLDIR: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC'
archiveName: ${{ matrix.qt_ver }}-${{ matrix.qt_target }}-${{ matrix.qt_arch }}
shell: pwsh
run: |
# 创建文件夹
New-Item -ItemType Directory ${env:archiveName}
# 拷贝exe
2019-12-07 16:46:15 +08:00
Copy-Item bin\release\${env:targetName} ${env:archiveName}\
2020-07-18 01:14:15 +08:00
Copy-Item bin\release\Trans ${env:archiveName}\Trans -Recurse -Exclude *.ilk,*.exp,*.lib,*.pdb
2019-12-07 15:45:19 +08:00
# 拷贝依赖
windeployqt --qmldir . ${env:archiveName}\${env:targetName}
# 打包zip
Compress-Archive -Path ${env:archiveName} ${env:archiveName}'.zip'
2020-12-01 17:55:40 +08:00
# 记录packageName给后续step
2019-12-07 15:45:19 +08:00
$name = ${env:archiveName}
2020-12-01 17:55:40 +08:00
echo "::set-output name=packageName::$name"
# 上传artifacts
2020-12-01 18:35:27 +08:00
# - uses: actions/upload-artifact@v2
# with:
# name: ${{ steps.package.outputs.packageName }}
# path: ${{ steps.package.outputs.packageName }}.zip
2019-12-07 15:45:19 +08:00
# tag 上传Release
- name: uploadRelease
if: startsWith(github.event.ref, 'refs/tags/')
2020-12-01 17:55:40 +08:00
uses: svenstaro/upload-release-action@v2
2019-12-07 15:45:19 +08:00
with:
2020-12-01 17:55:40 +08:00
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ steps.package.outputs.packageName }}.zip
asset_name: ${{ steps.package.outputs.packageName }}.zip
tag: ${{ github.ref }}
overwrite: true