1
0
mirror of https://github.com/jaredtao/TaoQuick.git synced 2025-01-19 20:22:56 +08:00
TaoQuick/.github/workflows/windows-qt5_15_2-win32_msvc2019.yml
2020-12-01 23:23:15 +08:00

102 lines
3.5 KiB
YAML

# 参考文档 https://docs.github.com/en/free-pro-team@latest/actions/
name: windows-qt5_15_2-win32_msvc2019
on:
# push代码时触发workflow
push:
paths-ignore:
- '*.md'
- 'LICENSE'
- "doc/**"
- "preview/**"
- ".github/workflows/android*.yml"
- ".github/workflows/ios*.yml"
- ".github/workflows/macos*.yml"
- ".github/workflows/ubuntu*.yml"
# pull_request时触发workflow
pull_request:
paths-ignore:
- 'README.md'
- 'LICENSE'
- "doc/**"
- "preview/**"
- ".github/workflows/android*.yml"
- ".github/workflows/ios*.yml"
- ".github/workflows/macos*.yml"
- ".github/workflows/ubuntu*.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
strategy:
# 矩阵配置
matrix:
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
env:
targetName: TaoQuickShow.exe
# 步骤
steps:
# 安装Qt
- name: Install Qt
# 使用外部action。这个action专门用来安装Qt
uses: jurplel/install-qt-action@v2.10.0
with:
# Version of Qt to install
version: ${{ matrix.qt_ver }}
arch: ${{ matrix.qt_arch }}
aqtversion: '==0.10.0'
cached: 'false'
# 拉取代码
- 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_arch }}
shell: pwsh
run: |
# 创建文件夹
New-Item -ItemType Directory ${env:archiveName}
# 拷贝exe
Copy-Item bin\release\${env:targetName} ${env:archiveName}\
Copy-Item bin\release\Trans ${env:archiveName}\Trans -Recurse -Exclude *.ilk,*.exp,*.lib,*.pdb
# 拷贝依赖
windeployqt --qmldir . ${env:archiveName}\${env:targetName}
# 打包zip
Compress-Archive -Path ${env:archiveName} ${env:archiveName}'.zip'
# 记录packageName给后续step
$name = ${env:archiveName}
echo "::set-output name=packageName::$name"
# 上传artifacts
# - uses: actions/upload-artifact@v2
# with:
# name: ${{ steps.package.outputs.packageName }}
# path: ${{ steps.package.outputs.packageName }}.zip
# 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
tag: ${{ github.ref }}
overwrite: true