diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index da2a631..b33ef30 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -173,3 +173,27 @@ jobs: - name: swift test run: swift test + + windows_tests: + name: Windows Tests + runs-on: windows-2025 + strategy: + fail-fast: false + matrix: + include: + # Requires https://github.com/swiftlang/swift-package-manager/issues/6367 so can't use e.g. 6.0.3, 5.10.1, or 5.9.2. + - branch: "swift-6.1.3-release" + tag: "6.1.3-RELEASE" + - branch: "swift-6.2.2-release" + tag: "6.2.2-RELEASE" + steps: + - uses: actions/checkout@v4 + + - name: Install Swift + uses: compnerd/gha-setup-swift@main + with: + branch: ${{ matrix.branch }} + tag: ${{ matrix.tag }} + + - name: swift test + run: swift test diff --git a/Package.swift b/Package.swift index def4469..4d33b48 100644 --- a/Package.swift +++ b/Package.swift @@ -56,7 +56,16 @@ let package = Package( .product(name: "SwiftSyntaxMacros", package: "swift-syntax"), .product(name: "SwiftCompilerPlugin", package: "swift-syntax"), ], - swiftSettings: [.enableExperimentalFeature("StrictConcurrency")] + swiftSettings: [ + .enableExperimentalFeature("StrictConcurrency"), + .unsafeFlags( + [ + "-Xfrontend", "-entry-point-function-name", + "-Xfrontend", "wWinMain", + ], + .when(platforms: [.windows]) + ), + ] ), .testTarget( name: "HashableMacroTests",