Present:
-
adam-fowler, ktoso, tachyonics , 0xTim , varland , tomerd
-
@0xTim: github actions
carry over; no action yet- EDIT: Since those meeting notes were taken Moritz kicked off an effort here: "Install Swift" GitHub Action
-
@ktoso to merge async guide Swift Concurrency adoption guidelines for Swift Server Libraries by fabianfett · Pull Request #70 · swift-server/guides · GitHub it got enough review
- done
-
Associate with Swift installers
- reviewing the swift installer / rpm discussion
-
Static linking
- more optimal linking
- bigger binary but the binary works better by itself
- uploading is easier, just one executable
- in lambda, we could use layers, but layers are still dynamic linking time on startup and it hurts startup time of the lambda
- dynamic linking: system where many swift excecutables can then share the runtime libraries
- but we don’t really do that in server
- other angle:
- on macOS the swift runtime ships with the runtime
- the OS contains these libraries, binaries are smaller
- but on Linux we don’t “ship” anything; so we need to carry it with the binary; it is complex for users
- more optimal linking
-
Improving Swift and Lambda together
- if we had a custom supported runtime
- Todd:
- what if AWS hosted and maintained layers for Swift?
- Fabian:
- that’s too hard, people would have to learn about layers and many other tools; it is too complex for people
- Too much complexity with the layers; they need to pick the right
- that causes link delay at startup
- that’s too hard, people would have to learn about layers and many other tools; it is too complex for people
-
@tomerd
- layers are not a solution
- if it’s the menu there could be a workable solution
-
@ktoso
- an additional complication is lack of ABI on Linux; so but we could do an image per version
- We’d need to compare a bit, if the dynamic linking is important or not
- Smaller binary is countered by linking time etc.
- We summarized ideas here a bit
- if AWS does some fancy cache already maybe we can do something like that?§
- Docker container idea also works well
- adds complexity though
- Optimally we'd like Swift to be just an option in the "dropdown list" of supported platforms and we are looking into how to make this happen.
- Summing up, there are two topics:
- first:
- static linking is good, regardless of other things
- we can kill off the slim images etc
- second:
- how to make lambda deployment simpler
- first:
-
Amazon CDK
-
Swift Documentation
- docc moved to swift.org
- in general interested in suggesting adoption to libraries, but we don't have specific plans yet
- docc is still maturing for our server libs use cases, so please track the proposals
-
XCTest async
- PR is open, we’re trying to address this
- the change should be landing very soon according to the PR though
- Vapor CI is broken right now
- people verifying things locally
- Some issues with Thread Sanitizer were supposedly fixed in 5.5.1
-
Swiftly — what next?
- General consensus: Let's start making progress on coding and designing
- Assume the RPMs and Debs will be there, design with that in mind
- Tool still required
- Maybe just defining interface and filling out later…?
- Put together a design, some goals, etc?
- Then we start coding!
- @Adam-Fowler / Patrick can kick off a design
- Tool still required
- Assume the RPMs and Debs will be there, design with that in mind
- General consensus: Let's start making progress on coding and designing
- MQTTNIO - GitHub - adam-fowler/mqtt-nio: A Swift NIO MQTT v3.1.1 and v5.0 Client
- know at least one member to pitch it
-
@adamfowler pitch it, do it :-)
- pitch was done: Mqttnio
- GraphQL
- We know about GitHub - GraphQLSwift/Graphiti: The Swift GraphQL Schema framework for macOS and Linux and it looks very good
- it is actually used a bit
- active project
- also has integration to Vapor
- Looks great! Adam will reach out to see if we could pitch to SSWG