Enable -Xswiftc -warnings-as-errors in CI builds (#205)

Enables warnings as errors in CI builds.

### Modifications

#### Fix `weak-mutability` warning in producer test

Swift 6.2.3 introduced `weak let` and `weak-mutability` compiler warning
for variables that are never mutated.

We split the test variable initialization to suppress the warning and
maintain compatibility with Swift 6.0.

#### Fix `_GNU_SOURCE` macro redefined build warnings

`librdkafka` appears to define this where needed, which causes a lot of
warnings in build output.

Definition in `Package.swift` was added for BoringSSL support in #135,
which was later removed in #187.
This commit is contained in:
Alexey Bezhan
2026-02-24 10:51:20 +00:00
committed by GitHub
parent 4277c37da7
commit 9a51cc87f3
4 changed files with 12 additions and 12 deletions
+5 -5
View File
@@ -14,11 +14,11 @@ jobs:
name: Unit tests
uses: ./.github/workflows/unit_tests.yml
with:
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error"
linux_6_1_arguments_override: "--explicit-target-dependency-import-check error"
linux_6_2_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_next_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_2_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_next_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
release-builds:
name: Release builds
+5 -5
View File
@@ -19,11 +19,11 @@ jobs:
name: Unit tests
uses: ./.github/workflows/unit_tests.yml
with:
linux_6_0_arguments_override: "--explicit-target-dependency-import-check error"
linux_6_1_arguments_override: "--explicit-target-dependency-import-check error"
linux_6_2_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_next_arguments_override: "--explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_6_2_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_next_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
linux_nightly_main_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
construct-cxx-matrix:
name: Construct Cxx interop matrix
-1
View File
@@ -75,7 +75,6 @@ let package = Package(
// dummy folder, because config.h is included as "../config.h" in librdkafka
.headerSearchPath("./custom/config/dummy"),
.headerSearchPath("./librdkafka/src"),
.define("_GNU_SOURCE", to: "1"), // Fix build error for Swift 5.9 onwards
],
linkerSettings: [
.linkedLibrary("sasl2"),
+2 -1
View File
@@ -336,7 +336,8 @@ struct KafkaProducerTests {
(producer, events) = try KafkaProducer.makeProducerWithEvents(configuration: self.config, logger: .kafkaTest)
_ = events
weak var producerCopy = producer
weak var producerCopy: KafkaProducer?
producerCopy = producer
await withThrowingTaskGroup(of: Void.self) { group in
// Initialize serviceGroup here so it gets dereferenced when this closure is complete