Repository navigation
Upgrade to Python 3.12 base layer - #128
Merged
Merged
Conversation
- Base image baseevalutionfunctionlayer:main-3.8 -> main-3.12 (AL2023: dnf git+findutils, PYTHONPATH, pytest for healthcheck, module-style CMD) - Rename evaluation_test.py/preview_test.py -> *_tests.py so the base layer healthcheck can import them - sympy 1.10.1 -> 1.12.1 for Python 3.12 tokenizer compatibility - Workflows copied from survey (adds test-lint): Python 3.12, PR-triggered tests, database tests on production deploy - Add pytest.ini Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Moves off
baseevalutionfunctionlayer:main-3.8(Python 3.8 runtime, deprecated; the base layer has stopped building the 3.8 image).app/Dockerfile:main-3.12, the same recipe as survey.yum install gitbecomesdnf install git findutils; also addsPYTHONPATH=/app, pytest, andCMD ["app.handler"]evaluation_test.py/preview_test.pyto*_tests.py. The base layer healthcheck importsevaluation_tests, which is why prod healthcheck currently reportstests_passed: falsesympy1.10.1 changed to 1.12.1, because 1.10.1'sparse_exprmisbehaves under Python 3.12's new tokenizer. SymbolicEqual needed the same bump (feedback-messages #80)test-lint.yml(runs on PRs, Python 3.12), the staging test job runs on 3.12, andrun-database-tests: trueon production deploypytest.iniTesting (branch deployed to staging; not tested locally):
3!and-∞healthchecknow returns 503 on staging. With the files renamed, the base layer actually runs the full suite (1008 subtests) inside the Lambda, which takes longer than API Gateway's 30s limit. Prod answers fast only because it can't import the tests. Nothing in the platform callshealthcheckTEST_API_ENDPOINTrepo secret set to thecomparePhysicalQuantities-stagingURL sopre_production_tests.ymlworks🤖 Generated with Claude Code