deskflow/.github/workflows/job-build-windows.yml

71 lines
2 KiB
YAML

name: Windows
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-arch64:
runs-on: windows-2019
env:
GIT_COMMIT: ${{ github.sha }}
QT_BASE_DIR: ${{ github.workspace }}\deps\Qt
BONJOUR_BASE_DIR: ${{ github.workspace }}\deps\bonjour
QT_VERSION: 5.12.6
QT_BASE_URL: http://qt.mirror.constant.com/
steps:
- uses: actions/checkout@v2
- name: Cache Qt
id: cache-qt
uses: actions/cache@v1
with:
path: ${{ env.QT_BASE_DIR }}
key: ${{ runner.os }}-Qt_${{ env.QT_VERSION }}
- name: Install Qt
if: steps.cache-qt.outputs.cache-hit != 'true'
run: |
pip install aqtinstall
python -m aqt install --outputdir $env:QT_BASE_DIR --base $env:QT_BASE_URL $env:QT_VERSION windows desktop win64_msvc2017_64
cd $env:QT_BASE_DIR\$env:QT_VERSION\msvc2017_64
dir
- name: set QT path
run: echo "::set-env name=CMAKE_PREFIX_PATH::$env:QT_BASE_DIR\$env:QT_VERSION\msvc2017_64\"
- name: Cache Bonjour
id: cache-bonjour
uses: actions/cache@v1
with:
path: ${{ env.BONJOUR_BASE_DIR }}
key: ${{ runner.os }}-Bonjour
- name: Install Bonjour SDK
if: steps.cache-bonjour.outputs.cache-hit != 'true'
run: |
New-Item -Force -ItemType Directory -Path ".\deps\bonjour"
$client = new-object System.Net.WebClient
$client.DownloadFile("https://binaries.symless.com/bonjour/BonjourSDK.zip",".\bonjoursdk.zip")
[System.IO.Compression.ZipFile]::ExtractToDirectory(".\bonjoursdk.zip", $env:BONJOUR_BASE_DIR)
- name: set Bonjour path
run: echo "::set-env name=BONJOUR_SDK_HOME::$env:BONJOUR_BASE_DIR\BonjourSDK"
- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.0.1
- name: Build
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
. ./version
msbuild synergy-core.sln /p:Configuration=Release
- name: Run unit test
run: .\build\bin\Release\unittests.exe