name: Windows Build on: push: branches: [main] tags: ["v*"] pull_request: branches: [main] workflow_dispatch: env: FLUTTER_VERSION: "3.41.4" jobs: build-windows: name: Build Windows (x64) runs-on: windows-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Flutter uses: subosito/flutter-action@v2 with: flutter-version: ${{ env.FLUTTER_VERSION }} channel: stable cache: true - name: Enable Windows desktop run: flutter config --enable-windows-desktop - name: Install dependencies run: flutter pub get - name: Analyze run: flutter analyze # The sqlite3 native asset downloads a precompiled DLL from GitHub # releases. If the runner is behind a firewall, set HTTP_PROXY / # HTTPS_PROXY as repository secrets and they will be honoured here. - name: Build Windows release env: HTTP_PROXY: ${{ secrets.HTTP_PROXY }} HTTPS_PROXY: ${{ secrets.HTTPS_PROXY }} run: flutter build windows --release - name: Package artifact run: | $dir = "build\windows\x64\runner\Release" Compress-Archive -Path "$dir\*" -DestinationPath "badnote-windows-x64.zip" -Force - name: Upload artifact uses: actions/upload-artifact@v4 with: name: badnote-windows-x64 path: badnote-windows-x64.zip if-no-files-found: error