28 Commits

Author SHA1 Message Date
Sébastien Stormacq f6fc221450 Update License header according to /awslabs standards (#101)
Update legal files and license header in source files to the AWS
standard
2025-10-21 23:12:17 +02:00
Sébastien Stormacq 318868c10c [test] Migrate unit tests to Swift Testing (#88)
Migrate all unti tests to Swift Testing

### Motivation:

Allows to compile and run test on open source Swift toolchain 6

### Modifications:

Migrate according to 
https://developer.apple.com/documentation/testing/migratingfromxctest

### Result:

```
􁁛  Test run with 101 tests passed after 0.012 seconds.
```
2025-06-30 18:42:29 +02:00
Sébastien Stormacq ee11dac0bf fix CI (#77)
* add semantic version check

* disable yaml linter

* Disable Swift 5.8 unit test

* re-enable additional soundness checks

* fix shell scripts

* fix yaml lint
2024-11-26 15:31:20 +01:00
Yim Lee 6a9065203e DocC setup (#22) 2022-08-11 17:01:48 -07:00
Fabian Fett 2a118fb016 Add Sendable support (#15) 2022-04-21 08:51:15 +02:00
tom doron 91cdbbebc7 split events into spearate package
motivation: the runtime library has a stabel API while the events are still moving target, so in order to provide a 1.0 stable version we should separate them out

changes:
* import events module from the swift-aws-lambda-runtime, including git history
* update docker setup
* remove redundant examples and  scripts
2021-07-29 13:34:58 -07:00
Fabian Fett 578253f98e Performance Improvements (#199)
Modifications:
- Replace `HTTPHandler` with `NIOHTTPClientResponseAggregator`, to fix a CoW issue. This increases performance.
- Ensure that we only use one `EventLoop` in tests.
- Use `syncOperations` to setup the `HTTPClient`.
2021-04-14 00:21:38 +02:00
tomer doron 8cc571ff63 update code of conduct (#190)
motivation: align with swift project coc update

changes: update coc to the version used by the swift project (contributor-covenant.org  1.4)

Update 0226-package-manager-target-based-dep-resolution.md

Co-authored-by: Konrad `ktoso` Malawski <ktoso@apple.com>
2021-03-05 12:16:07 +09:00
Fabian Fett b7858b7776 Use welcoming language (#184) 2021-01-21 21:05:43 -08:00
tomer doron 7be01c60fc small fixes to the perf script (#78)
motivation: keep script up to date

changes:
* use 5.3 nightly
* better support for perf symlink as the location is a moving target
* info about cold/warm start
2020-05-12 16:04:30 -07:00
tom doron 6765213281 move examples into a subdirectory
motivation: easier to find and reason about

changes: move exmaples from a seperate repo into a subdirectory
2020-05-07 08:56:31 -07:00
tom doron dcff235c6a moving examples into a subdirectory 2020-05-06 12:19:03 -07:00
tachyonics a746344908 Add a SAM template for deploying the lambdas to AWS. (#2)
motivation: demonstrate how to deploy with SAM

changes:
* Add a SAM template for deploying the lambdas to AWS. 
* Updated README with instructions on how to do this.
2020-04-06 09:31:43 -07:00
tomer doron 7598aa9da2 breakdown examples intro separate targets (#1)
motivation: easier to reason about examples

changes:
* move each example to its own target
* update deployment script to prompt for desired target when multiple targets exist
* add code comments on what the example is about
* add feature-reach example (CurrencyExchange) to help testing use of Foundation features that require curl and libxml
2020-04-02 11:01:27 -07:00
tomer doron 163d8c1d05 update perf script (#51)
motivation: beter perf script

changes:
* adjust to latest version of perf
* higher frequency sampling
* more debug symbols
2020-03-27 15:32:14 -07:00
tom doron e1ee4ea0dd initial commit 2020-03-25 16:08:42 -07:00
tomer doron 388b9e1290 update contributors list (#43)
motivation: keep contributors list up to date

changes:
* add mailmap
* run contributors script
2020-03-17 18:25:48 -07:00
tomer doron 88b0073cae rename project to SwiftAWSLambdaRuntime (#38)
motivation: unique, accurate name

changes:
* rename project to SwiftAWSLambdaRuntime
* rename main module to AWSLambdaRuntime
* rename / simplify sample module names
* adjust readme and scripts
2020-03-13 14:48:25 -07:00
tomer doron 687bddcf99 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 b6729dc27d improve linux perf script (#34)
motivation: more details from perf / flamegrpah

changes:
* run docker in privileged mode and turn off kptr_restrict
* fix typo
2020-03-12 10:38:16 -07:00
tomer doron 68aa1e363f move config, lifecycle, context to separate files (#32)
motivation: easier code navigation

changes: move config, lifecycle, context to separate source files
2020-03-11 12:01:18 -07:00
tomer doron a2155031ed 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
tomer doron a59727d204 add script to help setup performance measuring in linux (#12)
motivation: performance tuning

changes: add script with setup code and example for running strace and perf
2020-03-06 15:23:03 -08:00
tomer doron 5ab5a7cc60 Scale test iterations independently (#6) 2020-03-05 13:51:30 -08:00
Tom Doron 114281067f performance improvments (#17)
motivation: better performance

changes:
* simply url configuration to ip and port so we can reoslve the socket add ress faster
* skip happy eyeballs
* limit eventloop group to 1 thread
* remove use of UUID and URL
* fix backtrace url
2020-03-04 13:54:55 -08:00
Tom Doron b4591e99b9 performance tests (#16)
motivation: benchmark for comparison of warm/cold runs

changes:
* refactor configuration
* add mock server that can be used by perf tests
* add simple perf test script
* change redundant classes to structs, make remaining classes final
* make offloading opt-in
* safer locking
* fix format
2020-03-04 11:01:15 -08:00
Tom Doron c31ee33105 refactor (#12)
motivation: make code simpler to reason about, better use of swift-nio

changes:
* remove main loop on global queue + wait, replace with recursion
* make better use of EvenLoopFuture, instead of result types to signal errors
* inject lifecycleId so we can share offloading queue
* improve logging
* adjust and improve tests
* update sanity and generate linux tests script to work better with dates and swiftformat
2019-09-16 10:05:02 +01:00
tomer doron 93c9cfdf63 initial commit 2018-11-13 17:48:44 -08:00