Skip to content

CI improvements#26

Open
rnro wants to merge 7 commits into
apple:mainfrom
rnro:ci-improvements
Open

CI improvements#26
rnro wants to merge 7 commits into
apple:mainfrom
rnro:ci-improvements

Conversation

@rnro

@rnro rnro commented Jun 18, 2026

Copy link
Copy Markdown
Contributor
  • Cover every Darwin platform via xcodebuild (macOS, Mac Catalyst, iOS, watchOS, tvOS, visionOS) alongside the existing xcrun swift test. Every step runs regardless of earlier failures and a final summary table reports per-platform PASSED/FAILED.
  • On Linux, build the package with three trait combinations before running the test suite:
    • default
    • all additive traits on (DatapathLogging / QlogOutput / SignpostOutput)
    • all reductive traits on (DisableDebugLogging / DisableErrorLogging).
  • Tests run in both debug and release.
  • Enable the Static Linux Swift SDK build job.
  • Bump the swiftlang/github-workflows pin from 0.0.9 to 0.0.11 to pick up updated static-SDK defaults (the 0.0.9 default matrix installs Swift 6.2 toolchains, which can't satisfy our 6.3 swift-tools-version).
  • Add a Dependabot config that groups swiftlang/github-workflows/* bumps so future pin updates arrive as a single PR rather than one per workflow file.
  • Clarify workflow results.
    • Pass --quiet to every swift build / swift test and to xcrun swift test
    • emit === <step>: PASSED === markers per step (plus a column-aligned summary on macOS and an "all builds and tests passed" footer on Linux)

@rnro rnro changed the title Ci improvements CI improvements Jun 18, 2026
rnro added 7 commits June 18, 2026 17:31
* Override `macos_build_command` to also `xcodebuild` the package for
  Mac Catalyst, iOS, watchOS, tvOS, and visionOS in addition to the
  existing macOS `swift test`, matching the platforms swift-nio's
  `macos_tests.yml` covers.
* Run every step regardless of earlier failures so a single platform
  break does not hide regressions on the others; the trailing `exit`
  fails the job if any step failed.
* Wrap the command in `bash -c '...' bash` so the reusable workflow's
  appended `swift_flags` flow through `$@` to `xcrun swift test`.
* Flip `enable_linux_static_sdk_build` to `true` so PRs also build
  the package with the Static Linux Swift SDK across the workflow's
  default Swift versions.
* Override `linux_build_command` to build with three trait
  combinations -- default, additive traits on
  (`DatapathLogging`/`QlogOutput`/`SignpostOutput`), and reductive
  traits on (`DisableDebugLogging`/`DisableErrorLogging`) -- before
  running the test suite in both debug and release.
* `set -e` stops the chain on the first failure; the trailing `bash`
  forwards the reusable workflow's `swift_flags` (and
  `swift_nightly_flags`) to every step via `"$@"` so each build gets
  the same toolchain flags.
* Configure Dependabot to track GitHub Actions updates weekly and
  group `swiftlang/github-workflows/*` bumps so version pins like the
  recent `0.0.11` move arrive as a single PR rather than one per
  workflow file.
* Pass `--quiet` to every `swift build` and `swift test` in the
  Linux trait-build chain and to `xcrun swift test` in the macOS job
  so logs surface compiler diagnostics and test failures rather than
  routine progress output.
* Echo a `=== <step>: PASSED ===` line after every Linux step and a
  trailing `=== Summary: all builds and tests passed ===`. With
  `set -e` retained, a missing PASSED line is the implicit
  failed-step marker for unfamiliar readers.
@rnro rnro force-pushed the ci-improvements branch from 973122e to 674a030 Compare June 18, 2026 16:31
@rnro rnro marked this pull request as ready for review June 18, 2026 17:14
@rnro

rnro commented Jun 18, 2026

Copy link
Copy Markdown
Contributor Author

Static SDK failures are expected due to a Glibc import issue which is being tackled separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant