30 Commits

Author SHA1 Message Date
tomer doron f3eac3167a add 5.10 ci setup (#309)
motivaiton: test for upcoming 5.10 release

changes: add docker setup for stable 5.9 and nightly 5.10
2023-10-10 14:36:19 -07:00
Yim Lee 50c4ec90a5 Swift 5.8 docker images are available (#298)
* Swift 5.8 docker images are available

* Add docker-compose file for Swift 5.9

* Fix image name
2023-04-04 14:47:56 -07:00
tomer doron 3b72f6a6cf improve examples (#292)
motivation: examples can be confusing since they use relative path to the library for CI purposes

changes:
* update examples to use the library URL, expect when env variable is set for CI purposes
* rename docker compose job to test-examples since it is more accurate
2023-03-12 11:23:41 -07:00
tomer doron 735c49f28d add docker compose setup for swift 5.8 (#284)
motivation: prepare for swift 5.8

changes: add docker compose setup for nightly 5.8
2023-01-25 18:47:27 -08:00
tomer doron a5fb165f65 fix concurrency api usage (#282)
motivation: cleanup incorrect concurent code in test

changes: use .get instead of .wait
2023-01-10 16:24:11 -08:00
tomer doron c915322eca API Refactoring (#273)
motivation: define stable API in preperation 1.0 release

changes:
* require swift 5.7, remove redundant backwards compatibility code
* make LambdaHandler, EventLoopLambdaHandler, and ByteBufferLambdaHandler disjointed protocols to reduce API surface area
* create coding wrappers for LambdaHandler and EventLoopLambdaHandler to provide bridge to ByteBufferLambdaHandler
* reuse output ByteBuffer to reduce allocations
* add new SimpleLambdaHandler with no-op initializer for simple lambda use cases
* update callsites and tests
* update examples

Co-authored-by: Yim Lee <yim_lee@apple.com>
Co-authored-by: Fabian Fett <fabianfett@apple.com>
2022-11-09 10:08:36 -08:00
Fabian Fett cebcf04d23 Drop Swift 5.2 and 5.3 (#262)
As outlined in a [Swift forums post in November ’21](https://forums.swift.org/t/swiftnio-swift-version-support/53232), SwiftNIO will only support the latest non-patch Swift release and the 2 immediately prior non-patch versions.
2022-04-20 22:02:24 +02:00
tomer doron f2a0ef59ac fix docker compose shell task (#253)
motivation: make it easier to shell into interactive session

changes: pass -l flag to bash to inherit PATH
2022-03-17 22:15:16 -07:00
tomer doron 51c27f9b0e ci update (#249)
motivation: 5.6 is out

changes:
* use release version of 5.6
* add docker setup for 5.7 (using nightly for now)
2022-03-16 21:15:31 -07:00
tomer doron b757de0241 Update and add examples to new APIs (#228)
* take advantage of @main where possible
* move the top level Sample code to the examples subdirectory
* extract a few examples form the "LambdaFunctions" directory (which is really a deployment demo) and move them to the top level Examples directory
*  rename "LambdaFunctions" examples as "Deployments" to make their intent clearer
* add a sample that demonstrates how to test a lambda now that SwiftPM can test executables directly
* update the test-sample docker setup to build & test th new samples
* fix a few typos and In/Out typealias left overs
* remove LinuxMain since its no longer required
2021-09-25 10:30:04 +02:00
tomer doron 5a21193ea6 Use release version of 5.5 in CI (#227)
motivation: 5.5 release is available

changes: update docker CI setup to use the release version of 5.5
2021-09-22 12:12:32 -07:00
tomer doron fce7884651 add ci setup for 5.5 (#211) 2021-06-29 09:35:23 -07:00
tomer doron 32f879f7f1 update 5.4 to release docker image (#207)
motivation: 5.4 is out!

changes: use release docker images instead of nightly
2021-05-06 17:43:10 -07:00
Fabian Fett 19fc295aa0 async/await support (#186)
- Add an `AsyncLambdaHandler`. Will be renamed to `LambdaHandler` as soon as we drop the current callback based `LambdaHandler`.
- The default way to use an `AsyncLambdaHandler` is to use `@main` to execute it. Don't use `Lambda.run` for it. We wan't to remove `Lambda.run` for 1.0.

Co-authored-by: tomer doron <tomerd@apple.com>
2021-04-27 22:47:11 +02:00
Fabian Fett a49a87341a Update swiftformat (#196)
changes: 
* Update swiftformat from 0.44 to 0.47
* Adjust rules
2021-03-26 10:34:34 -07:00
tomer doron d3e88bf9cd add docker setup for 5.4 and head/main (#189) 2021-02-27 12:57:06 -08:00
Fabian Fett bfdeb75e32 Use welcoming language (#184) 2021-01-21 21:05:43 -08:00
tomer doron a2b5326671 remove symbolicate-linux-fatal from Docker (#173)
motivation: we are not actually using symbolicate-linux-fatal in any meaningful way in CI and it's pinned to the master branch which has been removed

changes: remove symbolicate-linux-fatal fetching from Docker
2020-10-08 09:13:29 +09:00
tomer doron 944e16495a Swift 5.3 is released, use if for CI (#170) 2020-09-18 12:59:02 -07:00
tomer doron f175b5452f switch to 5.3 nightly now that it is published (#164)
motivation: stable 5.3 ci

changes: pin 5.3 ci jobs to 5.3 nightlies instead of master
2020-08-19 11:18:56 -07:00
tomer doron aa6468b360 add docker-compose setup for amazon linux (#114)
motivation: swift 5.2.4 now supportes AL2

changes:
* add docker-compose file for al2 5.2.4
* correct 5.3 docker-file to say al2 instead of 18.04
2020-06-05 20:23:08 -07:00
tomer doron 75d05ca954 docs cleanup (#91)
motivation: cleanup docs for oss

changes:
* add useful information in readme, with pointers to examples
* update ci setup and example to use latest tools
* update contributors list

Co-authored-by: Yim Lee <yim_lee@apple.com>
2020-05-28 12:19:19 -07:00
tomer doron d956b89dbc improve debugging example (#84)
motivation: clearer examples as we prepare to open source

changes:
* rename debugging example to make the name more accurate
* add more information in the local debugging example
* add a Shared module to show how to share code between client and server
* make example more useful - use JSON for registration like flow
* add docker-compose task to test examples

Co-authored-by: Yim Lee <yim_lee@apple.com>
2020-05-21 09:07:38 -07:00
Fabian Fett 53930fef38 add debug functionality to test with mock server (#73)
motivation: allow end to end testing locally

changes:
* add a Lambda+LocalServer which exposes Lambda.withLocalServer available only in DEBUG mode
* local server can receive POST requests with payloads on a configurable endpoint and and send them to the Lambda
* move Lifecycle completely into EventLoop
* remove all locks since running in one EventLoop
* Use UUID for requestId

Co-authored-by: tom doron <tomer@apple.com>
2020-05-15 16:56:17 -07:00
tomer doron dede451849 update ci setup (#56)
motivation: 5.2 adoption, prepare for 5.3

changes:
* add 5.2 docker-compose setup
* add 5.3 docker-compose setup (placeholder)
* format
2020-04-03 19:50:46 -07:00
tomer doron a9606fc636 better formatting (#44)
motvation: update swift-format

changes:
* explicitly set swift version
* update swift-format to v44
2020-03-19 22:28:51 -07:00
tomer doron 88f3b504f4 swift 5.2 (#37)
motivation: amazon linux support will land in 5.2

changes:
* remove inline as its default in 5.2
* remove linux test and lean on --enable-test-discovery
* adjust package syntax
* format code to match 5.2
2020-03-13 12:54:12 -07:00
tomer doron eb2f31ce7c add ci setup for 5.2 (#31)
motivation: 5.2 is coming soon, need to test against that target version

changes: add docker files setup for 5.2
2020-03-10 00:10:26 -07:00
tomer doron e0b34c4e2f test with tsan (#30)
motivation: better testing, safer code

changes: run 5.1 tests with tsan on
2020-03-09 23:33:05 -07:00
tomer doron b8a6466577 add docker support (#15)
motivation: enable CI

changes: add docker files support for ubuntu 16.04 and 18.04 and swift 5.0 and 5.1

note that eventyally this will need to move to AL2 docker images, but we dont have official ones yet
2020-03-06 18:43:16 -08:00