From ba7bb73f62368685110fe95f1196086a72641563 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E5=AD=90=E6=A5=9A=5Czhuzi?= Date: Tue, 7 Mar 2023 23:34:02 +0800 Subject: [PATCH] update --- .github/workflows/windows.yml | 92 +++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 .github/workflows/windows.yml diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml new file mode 100644 index 0000000..8814f52 --- /dev/null +++ b/.github/workflows/windows.yml @@ -0,0 +1,92 @@ +name: Windows +on: + # push代码时触发workflow + push: + paths: + - '*.pro' + - 'src/**' + - '.github/workflows/windows.yml' + pull_request: + paths: + - '*.pro' + - 'src/**' + - '.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 + 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 + - qt_ver: 5.15.2 + qt_arch: win64_msvc2019_64 + msvc_arch: x64 + qt_arch_install: msvc2019_64 + env: + targetName: example.exe + # 步骤 + 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 + with: + fetch-depth: 1 + # msvc编译 + - 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 + 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: + archiveName: ${{ matrix.qt_ver }}-${{ matrix.qt_target }}-${{ matrix.qt_arch }} + msvcArch: ${{ matrix.msvc_arch }} + shell: pwsh + run: | + & scripts\windows-publish.ps1 ${env:archiveName} ${env:targetName} + # 记录packageName给后续step + $name = ${env:archiveName} + echo "::set-output name=packageName::$name" + # tag 查询github-Release + # 上传artifacts + - 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 + tag: ${{ github.ref }} + overwrite: true \ No newline at end of file