From 62eda4e0de2ee81ee146fa3cbab8da91748cc1db Mon Sep 17 00:00:00 2001 From: Gus Cairo Date: Tue, 5 Aug 2025 16:17:55 +0100 Subject: [PATCH 1/5] Set up CI --- .github/release.yml | 14 +++++++++ .github/workflows/main.yml | 28 +++++++++++++++++ .github/workflows/pull_request.yml | 38 ++++++++++++++++++++++++ .github/workflows/pull_request_label.yml | 18 +++++++++++ 4 files changed, 98 insertions(+) create mode 100644 .github/release.yml create mode 100644 .github/workflows/main.yml create mode 100644 .github/workflows/pull_request.yml create mode 100644 .github/workflows/pull_request_label.yml diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..e29eb84 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,14 @@ +changelog: + categories: + - title: SemVer Major + labels: + - ⚠️ semver/major + - title: SemVer Minor + labels: + - 🆕 semver/minor + - title: SemVer Patch + labels: + - 🔨 semver/patch + - title: Other Changes + labels: + - semver/none diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..b2a8879 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,28 @@ +name: Main + +on: + push: + branches: [main] + schedule: + - cron: "0 8,20 * * *" + +jobs: + unit-tests: + name: Unit tests + uses: apple/swift-nio/.github/workflows/unit_tests.yml@main + with: + linux_5_10_enabled: false + linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" + linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" + linux_nightly_next_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" + linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" + + static-sdk: + name: Static SDK + uses: apple/swift-nio/.github/workflows/static_sdk.yml@main + + release-builds: + name: Release builds + uses: apple/swift-nio/.github/workflows/release_builds.yml@main + with: + linux_5_10_enabled: false diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml new file mode 100644 index 0000000..cebff60 --- /dev/null +++ b/.github/workflows/pull_request.yml @@ -0,0 +1,38 @@ +name: PR + +on: + pull_request: + types: [opened, reopened, synchronize] + +jobs: + soundness: + name: Soundness + uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main + with: + license_header_check_project_name: "SwiftHTTPServer" + + unit-tests: + name: Unit tests + uses: apple/swift-nio/.github/workflows/unit_tests.yml@main + with: + linux_5_10_enabled: false + 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_nightly_next_arguments_override: "--explicit-target-dependency-import-check error" + linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error" + + cxx-interop: + name: Cxx interop + uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main + with: + linux_5_10_enabled: false + + static-sdk: + name: Static SDK + uses: apple/swift-nio/.github/workflows/static_sdk.yml@main + + release-builds: + name: Release builds + uses: apple/swift-nio/.github/workflows/release_builds.yml@main + with: + linux_5_10_enabled: false diff --git a/.github/workflows/pull_request_label.yml b/.github/workflows/pull_request_label.yml new file mode 100644 index 0000000..8fd47c1 --- /dev/null +++ b/.github/workflows/pull_request_label.yml @@ -0,0 +1,18 @@ +name: PR label + +on: + pull_request: + types: [labeled, unlabeled, opened, reopened, synchronize] + +jobs: + semver-label-check: + name: Semantic version label check + runs-on: ubuntu-latest + timeout-minutes: 1 + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + persist-credentials: false + - name: Check for Semantic Version label + uses: apple/swift-nio/.github/actions/pull_request_semver_label_checker@main From a0d68ba3e67e499e546d709446e28c3ef1f34849 Mon Sep 17 00:00:00 2001 From: Gus Cairo Date: Tue, 5 Aug 2025 16:28:43 +0100 Subject: [PATCH 2/5] Disable 6.0 and 6.1 runs --- .github/workflows/main.yml | 7 +++++-- .github/workflows/pull_request.yml | 9 +++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b2a8879..fafe71b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,8 +12,9 @@ jobs: uses: apple/swift-nio/.github/workflows/unit_tests.yml@main with: linux_5_10_enabled: false - linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" - linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" + linux_6_0_enabled: false + linux_6_1_enabled: false + #linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" linux_nightly_next_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" @@ -26,3 +27,5 @@ jobs: uses: apple/swift-nio/.github/workflows/release_builds.yml@main with: linux_5_10_enabled: false + linux_6_0_enabled: false + linux_6_1_enabled: false diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index cebff60..50144da 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -16,8 +16,9 @@ jobs: uses: apple/swift-nio/.github/workflows/unit_tests.yml@main with: linux_5_10_enabled: false - 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_0_enabled: false + linux_6_1_enabled: false + #linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --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" @@ -26,6 +27,8 @@ jobs: uses: apple/swift-nio/.github/workflows/cxx_interop.yml@main with: linux_5_10_enabled: false + linux_6_0_enabled: false + linux_6_1_enabled: false static-sdk: name: Static SDK @@ -36,3 +39,5 @@ jobs: uses: apple/swift-nio/.github/workflows/release_builds.yml@main with: linux_5_10_enabled: false + linux_6_0_enabled: false + linux_6_1_enabled: false From cb42146cf2a9a45be60af5c720fc58f757f767b1 Mon Sep 17 00:00:00 2001 From: Gus Cairo Date: Wed, 6 Aug 2025 09:47:58 +0100 Subject: [PATCH 3/5] Trigger actions run From 5f30346141943836e83101888e94ef7577a6c85a Mon Sep 17 00:00:00 2001 From: Gus Cairo Date: Wed, 6 Aug 2025 10:09:06 +0100 Subject: [PATCH 4/5] Fix YAML format --- .github/workflows/main.yml | 2 +- .github/workflows/pull_request.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fafe71b..16d9b9e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,7 +14,7 @@ jobs: linux_5_10_enabled: false linux_6_0_enabled: false linux_6_1_enabled: false - #linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" + # linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" linux_nightly_next_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error -Xswiftc -require-explicit-sendable" diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 50144da..d37c730 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -18,7 +18,7 @@ jobs: linux_5_10_enabled: false linux_6_0_enabled: false linux_6_1_enabled: false - #linux_6_1_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_nightly_next_arguments_override: "--explicit-target-dependency-import-check error" linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error" From 52d322180daec843a3d74bdd6040977f9c105cd3 Mon Sep 17 00:00:00 2001 From: Gus Cairo Date: Wed, 6 Aug 2025 10:09:23 +0100 Subject: [PATCH 5/5] Override Swift version for API breakage check --- .github/workflows/pull_request.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index d37c730..0b01260 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -9,6 +9,7 @@ jobs: name: Soundness uses: swiftlang/github-workflows/.github/workflows/soundness.yml@main with: + api_breakage_check_container_image: "swift:6.1-noble" license_header_check_project_name: "SwiftHTTPServer" unit-tests: