Skip to content

Conversation

@davdroman
Copy link
Contributor

I've also made CI runs simpler.

@davdroman
Copy link
Contributor Author

davdroman commented Nov 14, 2025

All tests passing. I know it's an enormous PR but it's mostly deletions (yay! 🎉) and it mostly modernizes things for Swift 6 and Swift Syntax.

@gohanlon
Copy link
Owner

Wow, thanks for digging into this. And like you said, this is quite the big PR!

  • Have you by chance read my post here? Proposal: Addressing gaps in Swift Macro Testing pointfreeco/swift-macro-testing#18. I'm concerned that adopting mainstream swift-macro-testing removes test coverage, especially around fix-its, which is by far the most complex logic in the macro.

  • Do you know if the PR's approach to CI will effect the resolution of swift-syntax? My (perhaps incorrect) assumption is that this setup will test against multiple versions of Swift, but will only test against the latest swift-syntax.

  • I'd also like to hear your thoughts on dropping vs. keeping pre-Swift 6 support, and also dropping vs. keeping pre swift-syntax 600 support. I lean toward broader support based on the reasoning in this PointFree post: Being a good citizen in the land of SwiftSyntax. But I do agree that few would expect Swift 5.9 compatibility, and maybe same is true for swift-syntax 590.

@davdroman
Copy link
Contributor Author

davdroman commented Dec 14, 2025

  • Do you know if the PR's approach to CI will effect the resolution of swift-syntax?

You might want to take a look at this: https://github.com/Matejkob/swift-macro-compatibility-check. I saw it used here https://github.com/pointfreeco/swift-dependencies/blob/main/.github/workflows/ci.yml#L81

But I do agree that few would expect Swift 5.9 compatibility, and maybe same is true for swift-syntax 590.

I always go by the minimum version Apple accepts submissions for in the App Store, which right now is Xcode 26.0 = Swift 6.0. In Apple's eyes Swift 5.9 is "App Store obsolete", and so it's obsolete in my eyes too.

  • I'm concerned that adopting mainstream swift-macro-testing removes test coverage, especially around fix-its, which is by far the most complex logic in the macro.

I think this might be a case of perfect getting in the way of good. To me, maintaining a fork of MacroTesting is more agonizing than not getting 100% coverage. But as the author it's of course ultimately up to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants