StanfordSpezi / .github

Stanford Spezi
1 stars 2 forks source link

Complete Concurrency Checking #49

Open PSchmiedmayer opened 5 months ago

PSchmiedmayer commented 5 months ago

Problem

With Swift 6 approaching in a few months and nightly builds already being available we should ensure that all our packages are working well with all Swift concurrency checks.

The goal would be to support Swift 6 right from the start. We should consider selectively making some of our packages Swift 6 exclusive in case we require features only available in the next major version but should ideally support Swift 5.10 while Swift 6 adoption is picking up.

Solution

Each Spezi Package should enable strict concurrency checking in a PR and ensure that we don't have any warnings remaining in the packages as we develop new features or fix bugs from now. All UI test apps in the projects need to enable these flags by default.

In a final step, the Spezi Template Application and Spezi Study Application should enable strict concurrency checking to demonstrate that we fully support it in using applications.

Additional context

We should consider adding SWIFT_TREAT_WARNINGS_AS_ERRORS = YES to our general workflows to enforce that all warnings are flagged as errors during our CI setup.

Code of Conduct