Merge PR 1218. #1614
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Read variables from repo | |
shell: bash | |
run: cat .github/workflows/env >> $GITHUB_ENV | |
- name: Check app versions | |
run: | | |
python set-version.py | |
git diff --exit-code | |
- name: Cache helper | |
id: cache-helper | |
uses: actions/cache@v3 | |
with: | |
path: | | |
build/windows/helper | |
assets/licenses/helper.json | |
key: ${{ runner.os }}-py${{ env.PYVER }}-${{ hashFiles('helper/**') }} | |
- name: Set up Python | |
if: steps.cache-helper.outputs.cache-hit != 'true' | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYVER }} | |
- name: Install dependencies | |
if: steps.cache-helper.outputs.cache-hit != 'true' | |
run: | | |
python -m pip install --upgrade pip | |
pip install poetry | |
- name: Build the Helper | |
if: steps.cache-helper.outputs.cache-hit != 'true' | |
run: .\build-helper.bat | |
- uses: subosito/flutter-action@v2 | |
with: | |
channel: 'stable' | |
flutter-version: ${{ env.FLUTTER }} | |
- run: flutter config --enable-windows-desktop | |
- run: flutter --version | |
- name: Run tests | |
run: | | |
flutter test | |
flutter analyze | |
- name: Build the app | |
run: | | |
$version = python set-version.py | select-object -first 1 | |
flutter build windows --build-name=$version | |
- name: Check generated files | |
run: git diff -I '.*android.*flutter_plugins.*qrscanner_zxing' --exit-code | |
- name: Move .dll files | |
run: | | |
$dest = "build\windows\runner\Release" | |
cp $dest\helper\_internal/MSVCP140.dll $dest\ | |
cp $dest\helper\_internal/VCRUNTIME140.dll $dest\ | |
cp $dest\helper\_internal/VCRUNTIME140_1.dll $dest\ | |
- name: Create an unsigned .msi installer package | |
run: | | |
$env:PATH += ";$env:WIX\bin" | |
$env:SRCDIR = "build\windows\runner\Release\" | |
heat dir .\build\windows\runner\Release\ -out fragment.wxs -gg -scom -srd -sfrag -dr INSTALLDIR -cg ApplicationFiles -var env.SRCDIR | |
candle .\fragment.wxs .\resources\win\yubioath-desktop.wxs -ext WixUtilExtension -arch x64 | |
light fragment.wixobj yubioath-desktop.wixobj -ext WixUIExtension -ext WixUtilExtension -o yubioath-desktop.msi | |
- name: Rename and archive app bundle | |
run: | | |
$arr = $env:GITHUB_REF -split '/' | |
$branch = $arr[2] | |
$dest = "deploy\yubioath-desktop-$branch-windows" | |
mkdir $dest | |
mv build\windows\runner\Release\* $dest\ | |
mv yubioath-desktop.msi deploy | |
mv resources\win\release-win.ps1 deploy | |
mv resources deploy | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: yubioath-desktop-windows | |
path: deploy |