Skip to content
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

Upgrade utils to Python 3.12 #464

Open
3 of 5 tasks
sastels opened this issue Nov 25, 2024 · 8 comments
Open
3 of 5 tasks

Upgrade utils to Python 3.12 #464

sastels opened this issue Nov 25, 2024 · 8 comments
Assignees
Labels
Reliability Task related to reliability. Security | Sécurité Tech Debt An issue targeting an identified technical debt

Comments

@sastels
Copy link

sastels commented Nov 25, 2024

Description

As a software developer working on GCNotify stack,
I want the Python stack to be upgraded at latest supported version,
So that I can leverage the latest features of the language and better/safer code.

As a system ops working on GCNotify stack,
I want the Python stack to be upgraded at latest supported version,
So that I can leverage the latest performance improvement
And process notifications faster.

WHY are we building?

To get latest performance improvements, features and security updates of the Python language/runtime.

WHAT are we building?

Upgrade the stack to the latest possible version of Python. A few considerations:

  • It is possible that we cannot upgrade to the latest of the latest (3.12 at the time of this writing for the stable version), as this might be blocked by a dependency library that did not release a version supporting the latest. For example, we might have to upgrade from version 3.10 to version 3.11, and wait a bit longer to migrate to version 3.12.
  • The lambdas might have additional considerations that might limit the possible maximum Python version we can use, such as supported runtime and also monitoring libraries that need to support that environment (such as New Relic). Consider doing this work in Upgrade lambda and New Relic to latest supported version #354 .

VALUE created by our solution

Better performance, security and reliability.

Acceptance Criteria

  • utils running on Python 3.12.
  • utils tests passing
  • admin / api / document-download-api work with new utils

QA Steps

  • Run smoke tests on 3.12 apps
  • bug bash on staging
@sastels sastels added Reliability Task related to reliability. Security | Sécurité Tech Debt An issue targeting an identified technical debt labels Nov 25, 2024
@sastels sastels self-assigned this Nov 25, 2024
@sastels sastels changed the title Copy of Upgrade document-download-api to Python 3.12 Upgrade utils to Python 3.12 Nov 25, 2024
@sastels
Copy link
Author

sastels commented Nov 26, 2024

@jimleroyer
Copy link
Member

Steve found new tests in admin that were failing, triggered by the Python 3.12 upgrade. He fixed some but there might be some remaining.

@jimleroyer
Copy link
Member

Steve fixed a few tests involving a specific Redis command that flowed down to the API command.

@sastels
Copy link
Author

sastels commented Nov 28, 2024

:/ It really wasn't a redis command problem, instead the problem that my poetry.lock file was not installing the latest version of the 3.12 utils branch. All good now though.

@sastels
Copy link
Author

sastels commented Dec 2, 2024

got this merged but there was a problem with waffles in the GitHub action that wasn't there locally :/ Fix in a new version of utils:
cds-snc/notification-utils#338

@sastels
Copy link
Author

sastels commented Dec 3, 2024

utils all good and merged, working on the apps, then we can QA all together

@sastels
Copy link
Author

sastels commented Dec 13, 2024

ok, have a PR to merge the app team branch into main's 3.12
cds-snc/notification-utils#341

Using this new PR branch when testing the new api 3.12 PR.

@sastels
Copy link
Author

sastels commented Dec 17, 2024

moving back to blocked until we finish testing the 3.12 api / celery.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Reliability Task related to reliability. Security | Sécurité Tech Debt An issue targeting an identified technical debt
Projects
None yet
Development

No branches or pull requests

2 participants