sdl2-compat: ci: test x86/x64/arm32/arm64 MSVC

From fca43d83081c04976216bf5f1b6dbf18e36d3097 Mon Sep 17 00:00:00 2001
From: Anonymous Maarten <[EMAIL REDACTED]>
Date: Sun, 6 Aug 2023 14:46:52 +0200
Subject: [PATCH] ci: test x86/x64/arm32/arm64 MSVC

---
 .github/workflows/main.yml | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 42be474..2660f37 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -4,20 +4,23 @@ on: [push, pull_request]
 
 jobs:
   Build:
-    name: ${{ matrix.platform.name }}
-    runs-on: ${{ matrix.platform.os }}
+    name: '${{ matrix.platform.name }}'
+    runs-on: '${{ matrix.platform.os }}'
     strategy:
       fail-fast: false
       matrix:
         platform:
-        - { name: Windows, os: windows-latest, msvc: true }
-        - { name: Linux,   os: ubuntu-latest }
-        - { name: MacOS,   os: macos-latest }
+        - { name: 'Windows (x64)',    os: windows-latest, msvc: true, msvc-arch: x64 }
+        - { name: 'Windows (x86)',    os: windows-latest, msvc: true, msvc-arch: x86 }
+        - { name: 'Windows (arm32)',  os: windows-latest, msvc: true, msvc-arch: amd64_arm, cross: true }
+        - { name: 'Windows (arm64)',  os: windows-latest, msvc: true, msvc-arch: amd64_arm64, cross: true }
+        - { name: 'Linux',            os: ubuntu-latest }
+        - { name: 'MacOS',            os: macos-latest }
     steps:
     - uses: ilammy/msvc-dev-cmd@v1
       if: ${{ matrix.platform.msvc }}
       with:
-        arch: x64
+        arch: ${{ matrix.platform.msvc-arch }}
     - name: Get sdl2-compat sources
       uses: actions/checkout@v3
     - name: Install Ninja
@@ -44,7 +47,7 @@ jobs:
       run: |
         cmake --build build/
     - name: Run build-time tests (CMake)
-      if: ${{ false }} # FIXME: enable build-time tests on CI
+      if: ${{ false && !matrix.platform.cross }} # FIXME: enable build-time tests on CI
       shell: sh
       run: |
         set -eu