-
-
Notifications
You must be signed in to change notification settings - Fork 4
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
Publish as AoT #967
Publish as AoT #967
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #967 +/- ##
==========================================
+ Coverage 96.65% 96.72% +0.06%
==========================================
Files 23 45 +22
Lines 479 641 +162
Branches 54 71 +17
==========================================
+ Hits 463 620 +157
- Misses 5 7 +2
- Partials 11 14 +3
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
/deploy |
/deploy dev |
/deploy dev |
32689c7
to
26f74e9
Compare
/deploy dev |
1 similar comment
/deploy dev |
/deploy dev |
/deploy dev |
/deploy dev |
e8035e8
to
0d7989e
Compare
/deploy dev |
Add verification tests of the output JSON.
Remove ApplicationInsights as it is not AoT-compatible (and I never look at the data anyway).
- Use System.Text.Json for serialization instead of Newtonsoft.Json to support AoT. - Remove unused/duplicate custom `JsonSerializerContext`. - Add more end-to-end tests.
Enable publishing the Lambda for AoT.
Harden `SkillRequestExtensions` against null properties on the request and make it easier to debug.
Add missing brace.
Increase code coverage for ending a session.
Sort the properties.
Save some lines.
Until there's a GitHub Actions Linux runner with arm64 support, need to switch back to x64 as it is not possible to compile AoT for arm64 on an x64 Linux image.
Include the ICU libraries for linux-x64.
Make the type non-abstract to see if it fixes `NotSupportedException` when attempting to deserialize the payload.
Remove polymorphism as it is not supported when the type discriminator is not the first property in the JSON document. See dotnet/runtime#72604.
Use invariant globalisation and remove Microsoft.ICU.ICU4C.Runtime to reduce the AoT deployment size.
a0309b3
to
fb45199
Compare
/deploy dev |
Reduce memory required to 128MB (the minimum) to see if enabling AoT allows that to work.
/deploy dev |
Increase TfL API timeout to 7.5 seconds.
/deploy dev |
Compare the time to the same code with 128MB.
/deploy dev |
Remove the verification tests now the JSON serialization migration is complete.
Before AoT on arm64: Published size: 123MB; 240 files
After AoT on x86_64: Published size: 39.1MB; 4 files
TL;DR:
Published size: -68%; -236 files |
JsonSerializerContext
.