Skip to content

Upgrade to Python 3.12 base layer - #11

Merged
m-messer merged 2 commits into
mainfrom
python-3.12
Nov 10, 2026
Merged

m-messer merged 2 commits into
mainfrom
python-3.12

Conversation

@m-messer

@m-messer m-messer commented Nov 9, 2026

Copy link
Copy Markdown
Member

Stacked on the workflows-only PR (base: new-workflows). 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 (dnf findutils, PYTHONPATH=/app, CMD ["app.handler"])
  • requirements.txt: dotenv changed to python-dotenv (the code does from dotenv import load_dotenv, which comes from python-dotenv)

Testing plan: once the workflows PR is merged, this branch gets deployed to staging with gh workflow run staging-deploy.yml --ref python-3.12 and hit with the endpoint tests before merging. No CI tests or database tests run, because the function is LLM-backed.

🤖 Generated with Claude Code

m-messer and others added 2 commits November 9, 2026 20:45
Replace the legacy test-and-deploy.yml with the four workflows used by survey and the
other evaluation functions (test-lint, staging-deploy, production-deploy,
pre_production_tests), calling evaluation-function-workflows deploy.yml@main.
LLM-backed function: CI runs lint only (tests call model providers) and production
deploys keep run-database-tests: false.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Base image baseevalutionfunctionlayer:main-3.8 -> main-3.12 (AL2023: dnf findutils,
  PYTHONPATH, module-style CMD)
- Python 3.12 dependency fixes where needed

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Base automatically changed from new-workflows to main November 10, 2026 10:49
@m-messer

Copy link
Copy Markdown
Member Author

Deployed this branch to staging (staging-deploy.yml --ref python-3.12) and tested the endpoint:

  • eval with a 5-character connection ID: 200, with the expected Connection ID must be 6 characters long error. This confirms evaluation.py imports and runs on 3.12. I didn't test a valid ID, because that calls the external API_CONNECTION service.
  • healthcheck: 200, tests_passed: false. Only test_import_evaluation_tests errors; every other smoke test passes. Prod had no route (404), so there's nothing to compare against.

No database tests, since this function calls an external service.

🤖 Generated with Claude Code

@m-messer
m-messer merged commit e576730 into main Nov 10, 2026
10 checks passed
@m-messer
m-messer deleted the python-3.12 branch November 10, 2026 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant