Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge the async branch into main #1428

Merged
merged 58 commits into from
Jun 8, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
819531e
Prepare CI for async/await. (#1238)
MrMage Aug 18, 2021
3808814
[async-await] Base types for client implementation (#1243)
simonjbeaumont Aug 31, 2021
65cbfca
Add a passthrough message source and sequence (#1252)
glbrntt Sep 1, 2021
c4054f0
Add an internal pausable writer (#1245)
glbrntt Sep 2, 2021
bd7f40a
[async-await] Base types for server implementation (#1249)
simonjbeaumont Sep 7, 2021
7e97796
Code generation for async-await (#1259)
glbrntt Sep 10, 2021
4d3986f
Generate async echo client and server, add async server implementatio…
glbrntt Sep 13, 2021
183fd1d
[async-await] Support for sending response headers via context (#1262)
simonjbeaumont Sep 13, 2021
1af17c9
Replace the placeholder client request and response mechanisms (#1264)
glbrntt Sep 16, 2021
46b0270
[async-await] Code generation for "simple, but safe" wrapper client c…
simonjbeaumont Sep 16, 2021
b17f653
Update compiler guards for concurrency (#1277)
glbrntt Sep 27, 2021
1ecab2a
Add generation of client interceptors (#1272)
patskovn Sep 29, 2021
ab56e28
Add Echo server and client example using async-await API (#1278)
simonjbeaumont Oct 1, 2021
8338bea
Remove `_NIOConcurrency` import (#1276)
glbrntt Oct 6, 2021
aeea93a
Bump version number to 1.4.1-async-await.2 (#1291)
glbrntt Oct 6, 2021
fb54300
Move to completed state before cancelling task during finish() (#1302)
simonjbeaumont Oct 14, 2021
1862479
Extend interoperability tests to use async provider (#1312)
simonjbeaumont Nov 15, 2021
0dd42b5
Set version to 1.6.0-async-await.1
glbrntt Nov 26, 2021
ccdf3fd
Fixup yaml
glbrntt Nov 26, 2021
b0ee726
Use {request,response}{s,stream} consistently (#1320)
glbrntt Dec 6, 2021
6e6bdeb
Generate static service metadata (#1322)
glbrntt Dec 8, 2021
a6d3157
Allow end stream to be dropped in the async server handler (#1323)
glbrntt Dec 9, 2021
a5bc23d
Update the RouteGuide example and tutorial (#1331)
glbrntt Dec 15, 2021
61f63a7
Delay closing until the next loop tick (#1326) (#1335)
glbrntt Dec 20, 2021
8fcf4f3
Use new XCTest async/await support (#1336)
glbrntt Dec 20, 2021
f7513ab
Update allocation counter limits (#1347) (#1348)
glbrntt Feb 28, 2022
b0e710c
Lower availability/compiler guards (#1364)
glbrntt Feb 28, 2022
09ae808
Use correct naming for making async calls (#1365)
glbrntt Feb 28, 2022
4ca9bcf
Merge tag '1.7.1' into gb-update-async-await
glbrntt Mar 2, 2022
cda57c5
Update CI
glbrntt Mar 2, 2022
30fd564
Merge pull request #1366 from glbrntt/gb-update-async-await
glbrntt Mar 2, 2022
193d5dd
Enable CI for Swift 5.6 (#1370)
glbrntt Mar 17, 2022
d393fa1
Update allocation limits (#1375)
glbrntt Mar 24, 2022
e933e79
Bump minimum protobuf version to 1.19.0 (#1376)
glbrntt Mar 29, 2022
8a11a2e
Raise minimum Swift version for async/await (#1379)
glbrntt Mar 29, 2022
b341dbb
Add Sendable conformance to core async/await API (#1378)
glbrntt Apr 1, 2022
c2e1e12
Reformat async code (#1383)
glbrntt Apr 4, 2022
6b1dc82
Always generate async code (#1384)
glbrntt Apr 4, 2022
305677e
Make clients sendable (#1386)
glbrntt Apr 11, 2022
c4efc34
Re-enable 5.6 tests (#1390)
glbrntt Apr 20, 2022
49c3af7
Server handler interceptor state machine (#1394)
glbrntt May 3, 2022
9fdb653
Server handler state machine (#1396)
glbrntt May 4, 2022
65f7bee
Raise minimum supported Swift version to 5.4 (#1397) (#1398)
glbrntt May 4, 2022
9539d94
Add missing 'Sendable' conformance (#1404)
glbrntt May 12, 2022
55f2608
Executable targets should use executableTarget (#1406)
glbrntt May 12, 2022
5ece0b8
Use new state machines in async server handler (#1403)
glbrntt May 16, 2022
981e6cd
Refactor the async server call context (#1407)
glbrntt May 17, 2022
6c50a87
Close client request stream on error and end (#1410)
glbrntt May 24, 2022
8c5a8af
Suspend request stream writes before the RPC is ready (#1411)
glbrntt May 25, 2022
938d141
Make client RPC cancellation non-async (#1413)
glbrntt May 27, 2022
0680b7b
Add co-operative cancellation to async writer and passthrough source …
glbrntt May 27, 2022
d46c275
Remove async main workarounds for Echo (#1423)
glbrntt Jun 1, 2022
3426bca
Fix a handful of Sendable warnings (#1419)
glbrntt Jun 1, 2022
d3f5f64
Update PCAP example to be async (#1422)
glbrntt Jun 1, 2022
32e290b
Update the HelloWorld examples (#1424)
glbrntt Jun 6, 2022
31b7551
Update RouteGuide examples (#1426)
glbrntt Jun 7, 2022
a9d7b5a
Make the echo example async by default (#1427)
glbrntt Jun 7, 2022
a6e3dc5
Merge branch '1.7.1-async-await' into gb-merge-async
glbrntt Jun 7, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 3 additions & 4 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
push:
branches: [main]
pull_request:
branches: [main]
branches: [main, 1.7.1-async-await]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can probably drop this again?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yup, will do in a follow up. I have a few other fixes that are coming out of the merge but wanted to separate them from the merge to make them more obvious.

jobs:
preflight:
name: License Header and Formatting Checks
Expand All @@ -25,7 +25,8 @@ jobs:
matrix:
include:
- image: swift:5.6-focal
swift-test-flags: "--sanitize=thread"
# No TSAN because of: https://github.com/apple/swift/issues/59068
# swift-test-flags: "--sanitize=thread"
- image: swift:5.5-focal
swift-test-flags: "--sanitize=thread"
- image: swift:5.4-focal
Expand Down Expand Up @@ -109,8 +110,6 @@ jobs:
GRPC_NO_NIO_SSL: 1
timeout-minutes: 20
- name: Test without NIOSSL
# Skip tests on 5.6: https://bugs.swift.org/browse/SR-15955
if: ${{ matrix.image != 'swift:5.6-focal' }}
run: swift test
env:
GRPC_NO_NIO_SSL: 1
Expand Down
13 changes: 10 additions & 3 deletions Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ let cgrpcZlibTargetName = cgrpcZlibProductName

let includeNIOSSL = ProcessInfo.processInfo.environment["GRPC_NO_NIO_SSL"] == nil

#if swift(>=5.6)
// swift-argument-parser raised its minimum Swift version in 1.1.0 but
// also accidentally broke API. This was fixed in "1.1.1".
let argumentParserMinimumVersion: Version = "1.1.1"
#else
let argumentParserMinimumVersion: Version = "1.0.0"
#endif

// MARK: - Package Dependencies

let packageDependencies: [Package.Dependency] = [
Expand All @@ -49,15 +57,15 @@ let packageDependencies: [Package.Dependency] = [
.package(
name: "SwiftProtobuf",
url: "https://github.com/apple/swift-protobuf.git",
from: "1.9.0"
from: "1.19.0"
),
.package(
url: "https://github.com/apple/swift-log.git",
from: "1.4.0"
),
.package(
url: "https://github.com/apple/swift-argument-parser.git",
from: "1.0.0"
from: argumentParserMinimumVersion
),
].appending(
.package(
Expand Down Expand Up @@ -392,7 +400,6 @@ extension Target {
.nioCore,
.nioPosix,
.nioExtras,
.logging,
.argumentParser,
],
path: "Sources/Examples/PacketCapture",
Expand Down
2 changes: 1 addition & 1 deletion Performance/QPSBenchmark/Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ let package = Package(
.package(
name: "SwiftProtobuf",
url: "https://github.com/apple/swift-protobuf.git",
from: "1.9.0"
from: "1.19.0"
),
],
targets: [
Expand Down
Loading