Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Add SwiftSyntax version compatibility check #2

Closed
3 tasks done
dioKaratzas opened this issue Feb 5, 2025 · 0 comments · Fixed by #3
Closed
3 tasks done

CI: Add SwiftSyntax version compatibility check #2

dioKaratzas opened this issue Feb 5, 2025 · 0 comments · Fixed by #3
Labels
enhancement New feature or request

Comments

@dioKaratzas
Copy link
Owner

dioKaratzas commented Feb 5, 2025

Current Status

The CI workflow currently runs linting and tests, but doesn't verify SwiftSyntax version compatibility.

Proposed Changes

Add SwiftSyntax version compatibility check using swift-macro-compatibility-check to ensure our macro works across different SwiftSyntax versions:

  • Add macro compatibility check job
  • Test with major SwiftSyntax versions (509.0.0, 510.0.0, 600.0.0)
  • Make tests dependent on successful compatibility check

Implementation Details

  1. Add new job check-macro-compatibility to test.yml
  2. Configure it to run after linting but before tests
  3. Use Matejkob/swift-macro-compatibility-check@v1 action
  4. Set major-versions-only: true for faster CI runs

Expected Benefits

  • Early detection of SwiftSyntax compatibility issues
  • Better ecosystem citizenship by ensuring our macro works across versions
  • Prevent dependency resolution issues for users

References

dioKaratzas added a commit that referenced this issue Feb 5, 2025
- Add macro compatibility check job to test.yml
- Configure to run after lint but before tests
- Use major versions only for faster CI runs
@dioKaratzas dioKaratzas added the enhancement New feature or request label Feb 5, 2025
dioKaratzas added a commit that referenced this issue Feb 5, 2025
- Add macro compatibility check job to test.yml
- Configure to run after lint but before tests
- Use major versions only for faster CI runs
dioKaratzas added a commit that referenced this issue Feb 5, 2025
- Add overloaded extractModelDeclInfo methods for both DeclSyntaxProtocol and DeclGroupSyntax
- Fix type conformance issues between Swift 5.9 and 6.0
- Support both providingPeersOf and attachedTo macro expansion methods
@dioKaratzas dioKaratzas linked a pull request Feb 5, 2025 that will close this issue
dioKaratzas added a commit that referenced this issue Feb 5, 2025
* ci: add SwiftSyntax version compatibility check #2

- Add macro compatibility check job to test.yml
- Configure to run after lint but before tests
- Use major versions only for faster CI runs

* fix: add SwiftSyntax 509.0.0 compatibility #2

- Add overloaded extractModelDeclInfo methods for both DeclSyntaxProtocol and DeclGroupSyntax
- Fix type conformance issues between Swift 5.9 and 6.0
- Support both providingPeersOf and attachedTo macro expansion methods
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant