Conceptual illustration of a Swift package passing through a compiler layer and branching into multiple execution targets. Hourglasses mark limits on selected build or test steps, not entire jobs; branch count and geometry are illustrative and do not represent timing measurements. Illustration: MacDigest.
Swift’s reusable GitHub Actions workflows reached version 0.0.16 on October 14, adding configurable step timeouts and changing default compiler coverage. Package maintainers adopting the update should review which Swift versions their CI will exercise, especially if they still support older compilers. This release updates workflow code; the Swift compiler release list still ends at 6.4.1.
Review the compiler matrix
The default-matrix change adds Swift 6.4 to Linux and Windows testing while retaining 6.1, 6.2 and 6.3, plus nightly-main and nightly-6.4.x. Linux drops 5.9, 5.10 and 6.0 from its default list; Windows drops 5.9 and 6.0. Windows had already omitted 5.10.
Static Linux, WebAssembly and Android SDK lists replace their stable 6.3 entry with 6.4 and retain both nightly entries.
If your package still supports older compilers, set explicit linux_swift_versions and windows_swift_versions inputs before updating, then inspect the resulting jobs. Passing the new default matrix alone will no longer demonstrate compatibility with those removed versions.
Set limits for slow steps
Four new inputs, linux_build_timeout, linux_static_sdk_build_timeout, wasm_sdk_build_timeout and android_sdk_build_timeout, each default to 90 minutes. They apply to selected steps: Linux build/test; Static Linux SDK installation/build; both Wasm and Embedded Wasm installation/build; and Android SDK installation/build and its separate emulator/test step.
Each covered step receives its own limit. Android’s build and emulator tests can therefore each use up to 90 minutes; this is not one 90-minute cap for the entire job. The existing macOS, iOS and Windows timeout defaults remain 60 minutes.
Check successful run durations before merging the update. Override the relevant timeout through the calling workflow’s with inputs if legitimate work needs longer. The limits can stop a stalled covered step sooner.
Recheck macOS documentation
The release also fixes an empty-array error in check-docs.sh. Under macOS’s Bash 3.2, passing an option without values could trigger an unbound-variable error before documentation built. The patch handles empty values for both --doc-targets and --additional-docc-arguments.
Trial the update in a branch and rerun documentation checks alongside the intended compiler matrix. Teams also using GitHub-hosted macOS 14 should separately review the scheduled runner brownout and retirement.
This assessment is based on the tagged workflow files and merged changes; MacDigest has not run these workflows hands-on.
