FluentUI/.github/workflows/windows.yml

93 lines
3.4 KiB
YAML
Raw Normal View History

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
runs-on: ${{ matrix.os }}
2023-03-07 23:34:02 +08:00
strategy:
matrix:
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