Skip to content

Commit cc1475b

Browse files
committed
Merge branch 'main' into mmbm-inline-array
2 parents 356ab05 + 6c114e3 commit cc1475b

File tree

256 files changed

+21463
-2216
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

256 files changed

+21463
-2216
lines changed

.github/workflows/benchmarks.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ on:
2626
type: boolean
2727
description: "Boolean to enable the Linux 6.1 Swift version matrix job. Defaults to true."
2828
default: true
29+
linux_6_2_enabled:
30+
type: boolean
31+
description: "Boolean to enable the Linux 6.2 Swift version matrix job. Defaults to true."
32+
default: true
2933
linux_nightly_6_0_enabled:
3034
type: boolean
3135
description: "⚠️ Deprecated, we no longer run against 6.0 nightly."
@@ -51,6 +55,10 @@ on:
5155
type: boolean
5256
description: "Boolean to enable the Windows 6.1 Swift version matrix job. Currently has no effect!" # TODO: implement Windows benchmarking
5357
default: false
58+
windows_6_2_enabled:
59+
type: boolean
60+
description: "Boolean to enable the Windows 6.2 Swift version matrix job. Currently has no effect!" # TODO: implement Windows benchmarking
61+
default: false
5462
windows_nightly_6_0_enabled:
5563
type: boolean
5664
description: "⚠️ Deprecated, we no longer run against 6.0 nightly." # TODO: implement Windows benchmarking
@@ -80,6 +88,7 @@ jobs:
8088
MATRIX_LINUX_5_10_ENABLED: ${{ inputs.linux_5_10_enabled }}
8189
MATRIX_LINUX_6_0_ENABLED: ${{ inputs.linux_6_0_enabled }}
8290
MATRIX_LINUX_6_1_ENABLED: ${{ inputs.linux_6_1_enabled }}
91+
MATRIX_LINUX_6_2_ENABLED: ${{ inputs.linux_6_2_enabled }}
8392
MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_6_1_enabled && inputs.linux_nightly_next_enabled }}
8493
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
8594

.github/workflows/cxx_interop.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ on:
1919
type: boolean
2020
description: "Boolean to enable the Linux 6.1 Swift version matrix job. Defaults to true."
2121
default: true
22+
linux_6_2_enabled:
23+
type: boolean
24+
description: "Boolean to enable the Linux 6.2 Swift version matrix job. Defaults to true."
25+
default: true
2226
linux_nightly_6_0_enabled:
2327
type: boolean
2428
description: "⚠️ Deprecated, we no longer run against 6.0 nightly."
@@ -44,6 +48,10 @@ on:
4448
type: boolean
4549
description: "Boolean to enable the Windows 6.1 Swift version matrix job. Defaults to false. Currently has no effect!" # TODO: implement Windows Cxx compat checking
4650
default: false
51+
windows_6_2_enabled:
52+
type: boolean
53+
description: "Boolean to enable the Windows 6.2 Swift version matrix job. Defaults to false. Currently has no effect!" # TODO: implement Windows Cxx compat checking
54+
default: false
4755
windows_nightly_6_0_enabled:
4856
type: boolean
4957
description: "⚠️ Deprecated, we no longer run against 6.0 nightly." # TODO: implement Windows Cxx compat checking
@@ -73,6 +81,7 @@ jobs:
7381
MATRIX_LINUX_5_10_ENABLED: ${{ inputs.linux_5_10_enabled }}
7482
MATRIX_LINUX_6_0_ENABLED: ${{ inputs.linux_6_0_enabled }}
7583
MATRIX_LINUX_6_1_ENABLED: ${{ inputs.linux_6_1_enabled }}
84+
MATRIX_LINUX_6_2_ENABLED: ${{ inputs.linux_6_2_enabled }}
7685
MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_6_1_enabled && inputs.linux_nightly_next_enabled }}
7786
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
7887

.github/workflows/macos_tests.yml

Lines changed: 141 additions & 20 deletions
Large diffs are not rendered by default.

.github/workflows/main.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ jobs:
1515
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
1616
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
1717
linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
18+
linux_6_2_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
1819
linux_nightly_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
1920
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"
2021

@@ -56,19 +57,30 @@ jobs:
5657
matrix_string: '${{ needs.construct-integration-test-matrix.outputs.integration-test-matrix }}'
5758

5859
static-sdk:
59-
name: Static SDK
60+
name: Static Linux Swift SDK
6061
# Workaround https://github.com/nektos/act/issues/1875
6162
uses: apple/swift-nio/.github/workflows/static_sdk.yml@main
6263

64+
wasm-sdk:
65+
name: WebAssembly Swift SDK
66+
# Workaround https://github.com/nektos/act/issues/1875
67+
uses: apple/swift-nio/.github/workflows/wasm_sdk.yml@main
68+
6369
macos-tests:
6470
name: macOS tests
6571
# Workaround https://github.com/nektos/act/issues/1875
6672
uses: apple/swift-nio/.github/workflows/macos_tests.yml@main
6773
with:
6874
runner_pool: nightly
6975
build_scheme: swift-nio-Package
76+
xcode_16_2_build_arguments_override: "-Xswiftc -Xfrontend -Xswiftc -require-explicit-sendable"
77+
xcode_16_3_build_arguments_override: "-Xswiftc -Xfrontend -Xswiftc -require-explicit-sendable"
7078
macos_xcode_test_enabled: false # Disabled because of an issue
7179
ios_xcode_test_enabled: true
7280
watchos_xcode_test_enabled: true
7381
tvos_xcode_test_enabled: true
7482
visionos_xcode_test_enabled: true
83+
84+
release-builds:
85+
name: Release builds
86+
uses: apple/swift-nio/.github/workflows/release_builds.yml@main

.github/workflows/pull_request.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ jobs:
1919
linux_5_10_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2020
linux_6_0_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2121
linux_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
22+
linux_6_2_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2223
linux_nightly_6_1_arguments_override: "-Xswiftc -warnings-as-errors --explicit-target-dependency-import-check error"
2324
linux_nightly_main_arguments_override: "--explicit-target-dependency-import-check error"
2425

@@ -84,8 +85,19 @@ jobs:
8485
with:
8586
runner_pool: general
8687
build_scheme: swift-nio-Package
88+
xcode_16_2_build_arguments_override: "-Xswiftc -Xfrontend -Xswiftc -require-explicit-sendable"
89+
xcode_16_3_build_arguments_override: "-Xswiftc -Xfrontend -Xswiftc -require-explicit-sendable"
8790

8891
static-sdk:
89-
name: Static SDK
92+
name: Static Linux Swift SDK
9093
# Workaround https://github.com/nektos/act/issues/1875
9194
uses: apple/swift-nio/.github/workflows/static_sdk.yml@main
95+
96+
wasm-sdk:
97+
name: WebAssembly Swift SDK
98+
# Workaround https://github.com/nektos/act/issues/1875
99+
uses: apple/swift-nio/.github/workflows/wasm_sdk.yml@main
100+
101+
release-builds:
102+
name: Release builds
103+
uses: apple/swift-nio/.github/workflows/release_builds.yml@main
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
name: Release builds
2+
3+
on:
4+
workflow_call:
5+
inputs:
6+
linux_5_10_enabled:
7+
type: boolean
8+
description: "Boolean to enable the Linux 5.10 Swift version matrix job. Defaults to true."
9+
default: true
10+
linux_5_10_arguments_override:
11+
type: string
12+
description: "The arguments passed to swift test in the Linux 5.10 Swift version matrix job."
13+
default: ""
14+
linux_6_0_enabled:
15+
type: boolean
16+
description: "Boolean to enable the Linux 6.0 Swift version matrix job. Defaults to true."
17+
default: true
18+
linux_6_0_arguments_override:
19+
type: string
20+
description: "The arguments passed to swift test in the Linux 6.0 Swift version matrix job."
21+
default: ""
22+
linux_6_1_enabled:
23+
type: boolean
24+
description: "Boolean to enable the Linux 6.1 Swift version matrix job. Defaults to true."
25+
default: true
26+
linux_6_1_arguments_override:
27+
type: string
28+
description: "The arguments passed to swift test in the Linux 6.1 Swift version matrix job."
29+
default: ""
30+
linux_6_2_enabled:
31+
type: boolean
32+
description: "Boolean to enable the Linux 6.2 Swift version matrix job. Defaults to true."
33+
default: true
34+
linux_6_2_arguments_override:
35+
type: string
36+
description: "The arguments passed to swift test in the Linux 6.2 Swift version matrix job."
37+
default: ""
38+
linux_nightly_next_enabled:
39+
type: boolean
40+
description: "Boolean to enable the Linux matrix job using the nightly build for the next Swift version. Defaults to true."
41+
default: true
42+
linux_nightly_next_arguments_override:
43+
type: string
44+
description: "The arguments passed to swift test in the Linux matrix job using the nightly build for the next Swift version."
45+
default: ""
46+
linux_nightly_main_enabled:
47+
type: boolean
48+
description: "Boolean to enable the Linux nightly main Swift version matrix job. Defaults to true."
49+
default: true
50+
linux_nightly_main_arguments_override:
51+
type: string
52+
description: "The arguments passed to swift test in the Linux nightly main Swift version matrix job."
53+
default: ""
54+
55+
windows_6_0_enabled:
56+
type: boolean
57+
description: "Boolean to enable the Windows 6.0 Swift version matrix job. Defaults to false."
58+
default: false
59+
windows_6_0_arguments_override:
60+
type: string
61+
description: "The arguments passed to swift test in the Windows 6.0 Swift version matrix job."
62+
default: ""
63+
windows_6_1_enabled:
64+
type: boolean
65+
description: "Boolean to enable the Windows 6.1 Swift version matrix job. Defaults to false."
66+
default: false
67+
windows_6_1_arguments_override:
68+
type: string
69+
description: "The arguments passed to swift test in the Windows 6.1 Swift version matrix job."
70+
default: ""
71+
windows_6_2_enabled:
72+
type: boolean
73+
description: "Boolean to enable the Windows 6.2 Swift version matrix job. Defaults to false."
74+
default: false
75+
windows_6_2_arguments_override:
76+
type: string
77+
description: "The arguments passed to swift test in the Windows 6.2 Swift version matrix job."
78+
default: ""
79+
windows_nightly_next_enabled:
80+
type: boolean
81+
description: "Boolean to enable the Windows matrix job using the nightly build for the next Swift version. Defaults to false."
82+
default: false
83+
windows_nightly_next_arguments_override:
84+
type: string
85+
description: "The arguments passed to swift test in the Windows matrix job using the nightly build for the next Swift version."
86+
default: ""
87+
windows_nightly_main_enabled:
88+
type: boolean
89+
description: "Boolean to enable the Windows nightly main Swift version matrix job. Defaults to false."
90+
default: false
91+
windows_nightly_main_arguments_override:
92+
type: string
93+
description: "The arguments passed to swift test in the Windows nightly main Swift version matrix job."
94+
default: ""
95+
96+
jobs:
97+
construct-matrix:
98+
name: Construct release build matrix
99+
runs-on: ubuntu-latest
100+
outputs:
101+
release-build-matrix: '${{ steps.generate-matrix.outputs.release-build-matrix }}'
102+
steps:
103+
- name: Checkout repository
104+
uses: actions/checkout@v4
105+
with:
106+
persist-credentials: false
107+
- id: generate-matrix
108+
run: echo "release-build-matrix=$(curl -s --retry 3 https://raw.githubusercontent.com/apple/swift-nio/main/scripts/generate_matrix.sh | bash)" >> "$GITHUB_OUTPUT"
109+
env:
110+
MATRIX_LINUX_SETUP_COMMAND: "swift --version"
111+
MATRIX_LINUX_COMMAND: "swift build -c release"
112+
MATRIX_LINUX_5_10_ENABLED: ${{ inputs.linux_5_10_enabled }}
113+
MATRIX_LINUX_5_10_COMMAND_ARGUMENTS: ${{ inputs.linux_5_10_arguments_override }}
114+
MATRIX_LINUX_6_0_ENABLED: ${{ inputs.linux_6_0_enabled }}
115+
MATRIX_LINUX_6_0_COMMAND_ARGUMENTS: ${{ inputs.linux_6_0_arguments_override }}
116+
MATRIX_LINUX_6_1_ENABLED: ${{ inputs.linux_6_1_enabled }}
117+
MATRIX_LINUX_6_1_COMMAND_ARGUMENTS: ${{ inputs.linux_6_1_arguments_override }}
118+
MATRIX_LINUX_6_2_ENABLED: ${{ inputs.linux_6_2_enabled }}
119+
MATRIX_LINUX_6_2_COMMAND_ARGUMENTS: ${{ inputs.linux_6_2_arguments_override }}
120+
MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_next_enabled }}
121+
MATRIX_LINUX_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_next_arguments_override }}
122+
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
123+
MATRIX_LINUX_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_main_arguments_override }}
124+
MATRIX_WINDOWS_COMMAND: "swift build -c release"
125+
MATRIX_WINDOWS_6_0_ENABLED: ${{ inputs.windows_6_0_enabled }}
126+
MATRIX_WINDOWS_6_0_COMMAND_ARGUMENTS: ${{ inputs.windows_6_0_arguments_override }}
127+
MATRIX_WINDOWS_6_1_ENABLED: ${{ inputs.windows_6_1_enabled }}
128+
MATRIX_WINDOWS_6_1_COMMAND_ARGUMENTS: ${{ inputs.windows_6_1_arguments_override }}
129+
MATRIX_WINDOWS_6_2_ENABLED: ${{ inputs.windows_6_2_enabled }}
130+
MATRIX_WINDOWS_6_2_COMMAND_ARGUMENTS: ${{ inputs.windows_6_2_arguments_override }}
131+
MATRIX_WINDOWS_NIGHTLY_NEXT_ENABLED: ${{ inputs.windows_nightly_next_enabled }}
132+
MATRIX_WINDOWS_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_next_arguments_override }}
133+
MATRIX_WINDOWS_NIGHTLY_MAIN_ENABLED: ${{ inputs.windows_nightly_main_enabled }}
134+
MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_main_arguments_override }}
135+
136+
release-builds:
137+
name: Release builds
138+
needs: construct-matrix
139+
# Workaround https://github.com/nektos/act/issues/1875
140+
uses: apple/swift-nio/.github/workflows/swift_test_matrix.yml@main
141+
with:
142+
name: "Release builds"
143+
matrix_string: '${{ needs.construct-matrix.outputs.release-build-matrix }}'

.github/workflows/unit_tests.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,14 @@ on:
3535
type: string
3636
description: "The arguments passed to swift test in the Linux 6.1 Swift version matrix job."
3737
default: ""
38+
linux_6_2_enabled:
39+
type: boolean
40+
description: "Boolean to enable the Linux 6.2 Swift version matrix job. Defaults to true."
41+
default: true
42+
linux_6_2_arguments_override:
43+
type: string
44+
description: "The arguments passed to swift test in the Linux 6.2 Swift version matrix job."
45+
default: ""
3846
linux_nightly_6_0_enabled:
3947
type: boolean
4048
description: "⚠️ Deprecated, we no longer run against 6.0 nightly."
@@ -84,6 +92,14 @@ on:
8492
type: string
8593
description: "The arguments passed to swift test in the Windows 6.1 Swift version matrix job."
8694
default: ""
95+
windows_6_2_enabled:
96+
type: boolean
97+
description: "Boolean to enable the Windows 6.2 Swift version matrix job. Defaults to false."
98+
default: false
99+
windows_6_2_arguments_override:
100+
type: string
101+
description: "The arguments passed to swift test in the Windows 6.2 Swift version matrix job."
102+
default: ""
87103
windows_nightly_6_0_enabled:
88104
type: boolean
89105
description: "⚠️ Deprecated, we no longer run against 6.0 nightly."
@@ -102,8 +118,8 @@ on:
102118
default: ""
103119
windows_nightly_next_enabled:
104120
type: boolean
105-
description: "Boolean to enable the Windows matrix job using the nightly build for the next Swift version. Defaults to true."
106-
default: true
121+
description: "Boolean to enable the Windows matrix job using the nightly build for the next Swift version. Defaults to false."
122+
default: false
107123
windows_nightly_next_arguments_override:
108124
type: string
109125
description: "The arguments passed to swift test in the Windows matrix job using the nightly build for the next Swift version."
@@ -141,7 +157,9 @@ jobs:
141157
MATRIX_LINUX_6_0_COMMAND_ARGUMENTS: ${{ inputs.linux_6_0_arguments_override }}
142158
MATRIX_LINUX_6_1_ENABLED: ${{ inputs.linux_6_1_enabled }}
143159
MATRIX_LINUX_6_1_COMMAND_ARGUMENTS: ${{ inputs.linux_6_1_arguments_override }}
144-
MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_6_1_enabled && inputs.linux_nightly_next_enabled }}
160+
MATRIX_LINUX_6_2_ENABLED: ${{ inputs.linux_6_2_enabled }}
161+
MATRIX_LINUX_6_2_COMMAND_ARGUMENTS: ${{ inputs.linux_6_2_arguments_override }}
162+
MATRIX_LINUX_NIGHTLY_NEXT_ENABLED: ${{ inputs.linux_nightly_6_1_enabled || inputs.linux_nightly_next_enabled }}
145163
MATRIX_LINUX_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_6_1_arguments_override }} ${{ inputs.linux_nightly_next_arguments_override }}
146164
MATRIX_LINUX_NIGHTLY_MAIN_ENABLED: ${{ inputs.linux_nightly_main_enabled }}
147165
MATRIX_LINUX_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.linux_nightly_main_arguments_override }}
@@ -150,7 +168,9 @@ jobs:
150168
MATRIX_WINDOWS_6_0_COMMAND_ARGUMENTS: ${{ inputs.windows_6_0_arguments_override }}
151169
MATRIX_WINDOWS_6_1_ENABLED: ${{ inputs.windows_6_1_enabled }}
152170
MATRIX_WINDOWS_6_1_COMMAND_ARGUMENTS: ${{ inputs.windows_6_1_arguments_override }}
153-
MATRIX_WINDOWS_NIGHTLY_NEXT_ENABLED: ${{ inputs.windows_nightly_6_1_enabled && inputs.windows_nightly_next_enabled }}
171+
MATRIX_WINDOWS_6_2_ENABLED: ${{ inputs.windows_6_2_enabled }}
172+
MATRIX_WINDOWS_6_2_COMMAND_ARGUMENTS: ${{ inputs.windows_6_2_arguments_override }}
173+
MATRIX_WINDOWS_NIGHTLY_NEXT_ENABLED: ${{ inputs.windows_nightly_6_1_enabled || inputs.windows_nightly_next_enabled }}
154174
MATRIX_WINDOWS_NIGHTLY_NEXT_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_6_1_arguments_override }} ${{ inputs.windows_nightly_next_arguments_override }}
155175
MATRIX_WINDOWS_NIGHTLY_MAIN_ENABLED: ${{ inputs.windows_nightly_main_enabled }}
156176
MATRIX_WINDOWS_NIGHTLY_MAIN_COMMAND_ARGUMENTS: ${{ inputs.windows_nightly_main_arguments_override }}

.github/workflows/wasm_sdk.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: WebAssembly SDK
2+
3+
on:
4+
workflow_call:
5+
6+
jobs:
7+
wasm-sdk:
8+
name: WebAssembly Swift SDK
9+
uses: swiftlang/github-workflows/.github/workflows/swift_package_test.yml@main
10+
with:
11+
enable_wasm_sdk_build: true
12+
enable_linux_checks: false
13+
enable_windows_checks: false
14+
swift_flags: --target NIOCore
15+
swift_nightly_flags: --target NIOCore

.licenseignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,6 @@ dev/git.commit.template
4545
dev/lldb-smoker
4646
dev/make-single-file-spm
4747
dev/malloc-aggregation.d
48+
dev/malloc-aggregation.bt
4849
dev/update-alloc-limits-to-last-completed-ci-build
4950
scripts/nio-diagnose

.spi.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
version: 1
22
builder:
33
configs:
4-
- documentation_targets: [NIO, NIOConcurrencyHelpers, NIOCore, NIOEmbedded, NIOFoundationCompat, NIOHTTP1, NIOPosix, NIOTLS, NIOWebSocket, NIOTestUtils, _NIOFileSystem]
4+
- documentation_targets: [NIO, NIOConcurrencyHelpers, NIOCore, NIOEmbedded, NIOFoundationCompat, NIOHTTP1, NIOPosix, NIOTLS, NIOWebSocket, NIOTestUtils, NIOFileSystem]

0 commit comments

Comments
 (0)