yubioath-flutter/.github/workflows/windows.yml

74 lines
2.1 KiB
YAML
Raw Normal View History

2021-11-19 11:22:27 +03:00
name: Windows
on: [push, pull_request]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'
- name: Install dependencies
run: |
choco install swig
python -m pip install --upgrade pip
pip install poetry
- uses: subosito/flutter-action@v2
2021-11-19 11:22:27 +03:00
with:
channel: 'beta'
- run: flutter config --enable-windows-desktop
- run: flutter --version
2021-11-19 12:23:01 +03:00
- name: Run tests
run: |
flutter test
flutter analyze
2021-11-19 12:23:01 +03:00
2021-11-19 11:22:27 +03:00
- name: Install ykman
2021-11-19 12:23:01 +03:00
run: .\build-ykman.bat
2021-11-19 11:22:27 +03:00
- name: Build the app
2021-11-19 12:23:01 +03:00
run: flutter build windows
2021-11-19 11:22:27 +03:00
- 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\ykman-rpc\MSVCP140.dll $dest\
cp $dest\ykman-rpc\VCRUNTIME140.dll $dest\
cp $dest\ykman-rpc\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
2021-11-19 11:22:27 +03:00
- 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
2021-11-19 11:22:27 +03:00
- name: Upload artifact
uses: actions/upload-artifact@v1
with:
name: yubioath-desktop-windows
path: deploy