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: Check app versions run: | python set-version.py git diff --exit-code - name: Install dependencies run: | choco install swig python -m pip install --upgrade pip pip install poetry - uses: subosito/flutter-action@v2 with: channel: 'stable' - run: flutter config --enable-windows-desktop - run: flutter --version - name: Run tests run: | flutter test flutter analyze - name: Build the Helper run: .\build-helper.bat - name: Build the app run: flutter build windows - 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\MSVCP140.dll $dest\ cp $dest\helper\VCRUNTIME140.dll $dest\ cp $dest\helper\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 - name: Upload artifact uses: actions/upload-artifact@v1 with: name: yubioath-desktop-windows path: deploy