Add manual windows CI (#1209)

diff --git a/.github/workflows/choco_packages.config b/.github/workflows/choco_packages.config
new file mode 100644
index 0000000..b2d3db1
--- /dev/null
+++ b/.github/workflows/choco_packages.config
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+  <package id="gcc-arm-embedded" version="10.2.1" />
+  <package id="cmake" version="3.25.2" installArguments="ADD_CMAKE_TO_PATH=System" />
+  <package id="mingw" version="12.2.0" />
+  <package id="ninja" version="1.11.1" />
+</packages>
diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml
new file mode 100644
index 0000000..3e6cd6a
--- /dev/null
+++ b/.github/workflows/windows.yml
@@ -0,0 +1,21 @@
+name: Build on Windows
+on: workflow_dispatch
+jobs:
+  build:
+    runs-on: windows-2022
+    steps:
+      - name: Checkout repo
+        uses: actions/checkout@v3
+      - name: Checkout submodules
+        run: git submodule update --init
+      - name: Install dependencies
+        run: choco install .github/workflows/choco_packages.config
+
+      - name: Build Project
+        # bash required otherwise this mysteriously (no error) fails at "Generating cyw43_bus_pio_spi.pio.h"
+        shell: bash
+        run: |
+          mkdir build
+          cd build
+          cmake .. -G Ninja -DPICO_SDK_TESTS_ENABLED=1 -DCMAKE_BUILD_TYPE=Debug -DPICO_BOARD=pico_w
+          cmake --build .