2023-03-07 23:34:02 +08:00
|
|
|
name: Windows
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
paths:
|
2023-04-27 09:38:57 +08:00
|
|
|
- '*.txt'
|
2023-03-07 23:34:02 +08:00
|
|
|
- 'src/**'
|
2023-04-27 09:38:57 +08:00
|
|
|
- 'example/**'
|
|
|
|
- 'scripts/**'
|
2023-03-07 23:34:02 +08:00
|
|
|
- '.github/workflows/windows.yml'
|
|
|
|
pull_request:
|
|
|
|
paths:
|
2023-04-27 09:38:57 +08:00
|
|
|
- '*.txt'
|
|
|
|
- 'example/**'
|
2023-03-07 23:34:02 +08:00
|
|
|
- 'src/**'
|
2023-04-27 09:38:57 +08:00
|
|
|
- 'scripts/**'
|
|
|
|
- '.github/workflows/windows.yml'
|
|
|
|
|
2023-03-07 23:34:02 +08:00
|
|
|
jobs:
|
|
|
|
build:
|
|
|
|
name: Build
|
2023-04-03 14:22:01 +08:00
|
|
|
runs-on: ${{ matrix.os }}
|
2023-03-07 23:34:02 +08:00
|
|
|
strategy:
|
|
|
|
matrix:
|
2023-04-03 14:22:01 +08:00
|
|
|
os: [windows-2019]
|
2023-03-07 23:34:02 +08:00
|
|
|
include:
|
2023-10-20 21:32:11 +08:00
|
|
|
- qt_ver: 6.6.0
|
2023-03-07 23:34:02 +08:00
|
|
|
qt_arch: win64_msvc2019_64
|
|
|
|
msvc_arch: x64
|
2023-09-13 15:26:21 +08:00
|
|
|
qt_arch_install: msvc2019_64
|
2023-03-07 23:34:02 +08:00
|
|
|
env:
|
2023-03-08 16:09:18 +08:00
|
|
|
targetName: example.exe
|
2023-03-08 16:13:52 +08:00
|
|
|
fileName: example
|
2023-03-07 23:34:02 +08:00
|
|
|
steps:
|
2023-04-27 09:38:57 +08:00
|
|
|
- name: Check out repository
|
|
|
|
uses: actions/checkout@v3
|
2023-04-02 23:36:23 +08:00
|
|
|
with:
|
2023-04-27 09:38:57 +08:00
|
|
|
submodules: recursive
|
|
|
|
|
2023-03-07 23:34:02 +08:00
|
|
|
- name: Install Qt
|
2023-03-30 21:52:55 +08:00
|
|
|
uses: jurplel/install-qt-action@v3
|
2023-03-07 23:34:02 +08:00
|
|
|
with:
|
|
|
|
version: ${{ matrix.qt_ver }}
|
2023-03-30 22:10:05 +08:00
|
|
|
arch: ${{ matrix.qt_arch }}
|
2023-04-02 23:36:23 +08:00
|
|
|
cache: ${{steps.cache-qt.outputs.cache-hit}}
|
2023-11-15 23:54:38 +08:00
|
|
|
modules: 'debug_info qt3d qt5compat qtactiveqt qtcharts qtconnectivity qtdatavis3d qtgraphs qtgrpc qthttpserver qtimageformats qtlanguageserver qtlocation qtlottie qtmultimedia qtnetworkauth qtpdf qtpositioning qtquick3d qtquick3dphysics qtquickeffectmaker qtquicktimeline qtremoteobjects qtscxml qtsensors qtserialbus qtserialport qtshadertools qtspeech qtvirtualkeyboard qtwebchannel qtwebengine qtwebsockets qtwebview'
|
2023-04-27 09:38:57 +08:00
|
|
|
|
2023-03-07 23:34:02 +08:00
|
|
|
- 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 }}
|
2023-09-22 00:31:25 +08:00
|
|
|
ninja --version
|
2023-04-27 09:38:57 +08:00
|
|
|
mkdir build
|
|
|
|
cd build
|
2023-10-20 21:32:11 +08:00
|
|
|
cmake -DCMAKE_MESSAGE_LOG_LEVEL=STATUS -DCMAKE_PREFIX_PATH=D:\a\FluentUI\Qt\6.6.0\msvc2019_64 -DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl -DCMAKE_BUILD_TYPE=Release -GNinja ..
|
2023-04-27 09:38:57 +08:00
|
|
|
cmake --build . --target all --config Release --parallel
|
2023-03-07 23:34:02 +08:00
|
|
|
echo winSdkDir=%WindowsSdkDir% >> %GITHUB_ENV%
|
|
|
|
echo winSdkVer=%WindowsSdkVersion% >> %GITHUB_ENV%
|
|
|
|
echo vcToolsInstallDir=%VCToolsInstallDir% >> %GITHUB_ENV%
|
|
|
|
echo vcToolsRedistDir=%VCToolsRedistDir% >> %GITHUB_ENV%
|
2023-04-27 09:38:57 +08:00
|
|
|
|
2023-03-07 23:34:02 +08:00
|
|
|
- name: package
|
|
|
|
id: package
|
|
|
|
env:
|
2023-03-27 18:24:35 +08:00
|
|
|
archiveName: ${{ env.fileName }}-${{ matrix.qt_arch }}-${{ matrix.qt_ver }}
|
2023-03-07 23:34:02 +08:00
|
|
|
msvcArch: ${{ matrix.msvc_arch }}
|
|
|
|
shell: pwsh
|
|
|
|
run: |
|
|
|
|
& scripts\windows-publish.ps1 ${env:archiveName} ${env:targetName}
|
|
|
|
# 记录packageName给后续step
|
|
|
|
$name = ${env:archiveName}
|
2023-04-27 09:38:57 +08:00
|
|
|
echo "::set-output name=packageName::$name"
|
|
|
|
|
2023-03-07 23:34:02 +08:00
|
|
|
- uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: ${{ steps.package.outputs.packageName }}
|
2023-09-29 17:39:45 +08:00
|
|
|
path: dist
|
2023-04-27 09:38:57 +08:00
|
|
|
|
2023-09-29 16:08:42 +08:00
|
|
|
- name: inno setup install
|
|
|
|
if: startsWith(github.event.ref, 'refs/tags/')
|
2023-10-02 21:32:10 +08:00
|
|
|
uses: zhuzichu520/inno-setup-action@v1.0.1
|
2023-09-29 16:08:42 +08:00
|
|
|
with:
|
|
|
|
filepath: ./action-cli/InstallerScript.iss
|
|
|
|
|
2023-03-07 23:34:02 +08:00
|
|
|
- name: uploadRelease
|
|
|
|
if: startsWith(github.event.ref, 'refs/tags/')
|
|
|
|
uses: svenstaro/upload-release-action@v2
|
|
|
|
with:
|
|
|
|
repo_token: ${{ secrets.GITHUB_TOKEN }}
|
2023-09-29 16:08:42 +08:00
|
|
|
file: ./action-cli/installer.exe
|
|
|
|
asset_name: ${{ env.fileName }}_${{ github.ref_name }}_${{ matrix.qt_arch }}_Qt${{ matrix.qt_ver }}.exe
|
2023-03-07 23:34:02 +08:00
|
|
|
tag: ${{ github.ref }}
|
|
|
|
overwrite: true
|