Skip to content

Make platform compilation branches explicit - #6

Merged
VladimirBorodko merged 15 commits into
mainfrom
dima/update-if-else
Oct 16, 2026
Merged

VladimirBorodko merged 15 commits into
mainfrom
dima/update-if-else

Conversation

@dmitriyborodko

@dmitriyborodko dmitriyborodko commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

Catch-all #else branches could silently select Linux behavior on another platform. Make PathURL, NSValue extraction, and platform-dependent test expectations explicitly choose Apple, Linux, or Windows, with a compile-time error for unsupported targets. Linux and Windows share branches where their behavior is identical. Replace negative Apple conditions in test helpers and document the supported platforms.

Unix date strategies and their tests use anyAppleOS availability with Swift 6.4 or newer and equivalent explicit Apple OS availability annotations with older compilers, preserving Swift 6.2.3 compatibility. This applies to both generic strategy availability and legacy strategy deprecations.

Validation:

  • macOS with Swift 6.4: Debug and Release functional suites passed, 186 tests each.
  • Linux with Swift 6.2.3 in Docker: Debug and Release functional suites passed, 185 tests each.
  • CI on the final commit: all six Debug and Release jobs passed across macOS (Swift 6.2.4), Linux (Swift 6.2.3), and Windows (Swift 6.4.1), including the coverage gate and DocC build.

All suites exclude PerformanceTests.

@dmitriyborodko
dmitriyborodko requested review from VladimirBorodko and removed request for VladimirBorodko October 16, 2026 14:16
@dmitriyborodko dmitriyborodko added the run-ci Run CI manually for this pull request label Oct 16, 2026
@dmitriyborodko
dmitriyborodko marked this pull request as draft October 16, 2026 14:27
@dmitriyborodko
dmitriyborodko marked this pull request as ready for review October 16, 2026 14:29
@dmitriyborodko dmitriyborodko added run-ci Run CI manually for this pull request and removed run-ci Run CI manually for this pull request labels Oct 16, 2026
Comment thread Sources/Enigmatic/Internal/Primitives/EnigmaConvertibleObject.swift Outdated
Comment thread Sources/Enigmatic/Public/Codec/Strategies/Codec+UnixDate.swift
Comment thread Sources/Enigmatic/Public/Codec/Strategies/Codec+UnixIntDate.swift
Comment thread Tests/EnigmaticTests/CodableTests.swift Outdated
Base automatically changed from dima/windows-tests to main October 16, 2026 14:56
Comment thread Tests/EnigmaticTests/CodableTests.swift
Comment thread Tests/EnigmaticTests/SerializationContractTests.swift Outdated
Comment thread Tests/EnigmaticTests/StrategyContractTests.swift
@dmitriyborodko dmitriyborodko added run-ci Run CI manually for this pull request and removed run-ci Run CI manually for this pull request labels Oct 16, 2026
@dmitriyborodko dmitriyborodko added the run-ci Run CI manually for this pull request label Oct 16, 2026
@VladimirBorodko
VladimirBorodko merged commit e00639a into main Oct 16, 2026
12 checks passed
@VladimirBorodko
VladimirBorodko deleted the dima/update-if-else branch October 16, 2026 15:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-ci Run CI manually for this pull request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants