feat: drop Windows 32-bit builds (#163)

Drops i686-pc-windows-msvc (x86) builds from the Windows release matrix, retaining 64-bit x64 and arm64 targets.
This commit is contained in:
Dylan M. Taylor authored and GitHub committed 2026-11-06 21:27:06 -05:00
1 parent 2f46576245
commit 3e2ac193fd
3 files changed
+37 -2

No files matched your search

-1
View File
@@ -318,7 +318,6 @@ jobs:
matrix:
include:
- { arch: x64, target: x86_64-pc-windows-msvc }
- { arch: x86, target: i686-pc-windows-msvc }
- { arch: arm64, target: aarch64-pc-windows-msvc }
env:
CARGO_TERM_COLOR: always
+1 -1
View File
@@ -11,7 +11,7 @@ This repository unifies and eliminates duplicate CI/CD and release workflow defi
### 1. `release.yml`
Full multi-platform release pipeline for Craft apps:
- **macOS universal** (x86_64 + aarch64 universal bundle, DMG, CLI, Developer ID codesign & notarization)
- **Windows** (x64, x86, ARM64 MSI installer with WiX v5, CLI, Azure Trusted Signing)
- **Windows** (x64, ARM64 MSI installer with WiX v5, CLI, Azure Trusted Signing)
- **Linux** (x86_64, aarch64 AppImage, deb, rpm, tar.gz via nfpm)
- **Flatpak** (x86_64, aarch64 bundle generation)
- **FreeBSD** (FreeBSD 15.1-STABLE VM build & packaging for x86_64 and aarch64; aarch64 is cross-compiled in the same x86_64 VM and set by default through `freebsd-architectures`, see #39)
+36
View File
@@ -0,0 +1,36 @@
"""Exercise the Windows release job matrix in release.yml."""
from pathlib import Path
import unittest
import yaml
ROOT = Path(__file__).resolve().parents[1]
RELEASE_WORKFLOW = ROOT / ".github/workflows/release.yml"
class WindowsReleaseWorkflowTests(unittest.TestCase):
"""Ensure the release workflow Windows matrix builds supported architectures."""
def setUp(self):
"""Load the release workflow definition."""
self.data = yaml.load(RELEASE_WORKFLOW.read_text(), Loader=yaml.BaseLoader)
def test_windows_matrix_drops_32bit_and_includes_x64_and_arm64(self):
"""Windows matrix includes x64 and arm64 targets and excludes 32-bit x86."""
windows_job = self.data["jobs"]["windows"]
matrix_include = windows_job["strategy"]["matrix"]["include"]
expected = [
{"arch": "x64", "target": "x86_64-pc-windows-msvc"},
{"arch": "arm64", "target": "aarch64-pc-windows-msvc"},
]
self.assertEqual(matrix_include, expected)
arches = [item["arch"] for item in matrix_include]
targets = [item["target"] for item in matrix_include]
self.assertNotIn("x86", arches)
self.assertNotIn("i686-pc-windows-msvc", targets)
if __name__ == "__main__":
unittest.main()