Adds a Gitea Actions workflow running swift test in a swift:6.2 container. The kit did not build without Apple frameworks, so the two files that need them are wrapped in #if canImport, and the SwiftUI app target is added to Package.swift only on macOS. Neither can exist in a Linux container. This costs no coverage: all 43 tests are about file format and none touch the Contacts or EventKit readers. The integration those readers represent remains verifiable only on a Mac. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01C5X1tYo9oxAfvoiFMh1QQr
This commit is contained in:
@@ -92,6 +92,18 @@ swift test # run the test suite
|
||||
|
||||
`Package.swift` opens directly in Xcode if you'd rather work there.
|
||||
|
||||
### CI
|
||||
|
||||
`.gitea/workflows/test.yml` runs `swift test` in a `swift:6.2` container on
|
||||
every push and pull request.
|
||||
|
||||
It covers `IPodSyncKit` only. The Contacts and EventKit readers are compiled
|
||||
out on Linux via `#if canImport(…)`, and the SwiftUI app target is excluded
|
||||
from `Package.swift` on non-Apple platforms — neither can exist in a Linux
|
||||
container. No test coverage is lost by this: every test is about file format,
|
||||
and none of them touch the readers. What CI cannot tell you is whether reading
|
||||
from the real Contacts and Calendars databases still works; that needs a Mac.
|
||||
|
||||
The bundle is **ad-hoc signed**, which is not the same as signed for
|
||||
distribution. Ad-hoc signing is required — Contacts and Calendars identify an
|
||||
app by its code signature, and an unsigned bundle gets denied or re-prompts
|
||||
|
||||
Reference in New Issue
Block a user