Skip to content

Conversation

@sliu008
Copy link
Contributor

@sliu008 sliu008 commented Dec 4, 2025

This pull request introduces a major update to the project's Python version and dependency management, along with significant improvements to the CI/CD GitHub Actions workflows. The changes modernize the build and deployment pipelines, update core dependencies, and refactor Docker and Terraform configurations for better maintainability and compatibility.

CI/CD Workflow and Deployment Pipeline Improvements:

  • Upgraded GitHub Actions workflows to use Python 3.12 and Poetry 2.1.3, and updated related actions to their latest major versions. This affects both the release and build workflows (.github/workflows/.release-created.yml, .github/workflows/build.yml). [1] [2] [3]
  • Refactored the build and deployment process by splitting deployment into a separate deploy job, using workflow outputs for passing build metadata, and streamlining artifact handling and environment variable management.
  • Removed QEMU, Docker Buildx, and some Terraform setup steps from the build job, moving Terraform deployment and Docker registry login to the new deploy job. [1] [2]
  • Improved deployment triggers to allow manual deployments via commit messages (/deploy sit, /deploy uat).

Dependency and Dockerfile Updates:

  • Updated base Python images in all Dockerfiles to python:3.12-slim and public.ecr.aws/lambda/python:3.12-arm64, and refactored the Lambda Dockerfile for efficiency and compatibility. [1] [2] [3]
  • Updated core Python dependencies in pyproject.toml to require Python 3.12 and the latest compatible versions of numpy, pytest, pytest-cov, pylint, and Sphinx. [1] [2]

Terraform Configuration Updates:

  • Updated required provider versions for null in both terraform/main.tf and terraform_deploy/main.tf for broader compatibility with newer Terraform versions. [1] [2]

Other Notable Changes:

  • Added an initial delay to the PyPI package polling script to reduce transient download failures.
  • Removed the deprecated suggestion-mode option from .pylintrc.

These changes collectively modernize the project's toolchain, improve CI/CD reliability, and prepare the codebase for future enhancements.

@sliu008 sliu008 requested a review from jamesfwood December 4, 2025 00:27
@sliu008 sliu008 merged commit 8beb000 into develop Dec 8, 2025
4 checks passed
@sliu008 sliu008 deleted the feature/python_3.12 branch December 8, 2025 20:08
@sliu008 sliu008 restored the feature/python_3.12 branch December 8, 2025 20:12
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.

3 participants