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

feat(backend): update supported version of python #6426

Draft
wants to merge 26 commits into
base: develop
Choose a base branch
from

Conversation

Millefeuille42
Copy link
Member

@Millefeuille42 Millefeuille42 commented Apr 3, 2024

#6360

Checkpoints

For developers

  • If relevant, manual tests have been done to ensure the stability of the whole application and that the involved feature works
  • The original issue is up to date w.r.t the latest discussions and contains a short summary of the implemented solution
  • Automated tests covering the feature or the fix, have been written, deemed irrelevant (give the reason), or an issue has been created to implement the test (give the link)
  • Make sure that:
    • if there are modifications in the Tracim configuration files (eg. development.ini), they are documented in backend/doc/setting.md
    • any migration process required for existing instances is documented
    • relevant people for these changes are notified
  • Original authors of the features included in a multi-feature branch (maintenance fixes -> develop, security fixes -> develop, …) should be part of the reviewers, especially if you encountered merge conflicts.

For code reviewers

  • The code is clear enough
  • If there are FIXMEs in the code, related issues are mentioned in the FIXME
  • If there are TODOs, NOTEs or HACKs in code, the date and the developer initials are present

For testers

  • Manual, quality tests have been done

@Millefeuille42 Millefeuille42 self-assigned this Apr 3, 2024
@Millefeuille42
Copy link
Member Author

A tag: feat_6360__update_supported_version_of_python on algooci/tracim has been added, CI will run on this tag for this branch.

Remove tag specification concourse/pipelines/pull-request.yml (line 63) before merging !

@Millefeuille42
Copy link
Member Author

CI all green at the current state.

This includes:

  • Support from 3.9.x to 3.11.x
  • Bare minimum upgrade of dependencies for support to up to 3.11.x

What still has to be done:

  • Upgrade all other dependencies to highest that supports python 3.9.x
  • Consider supporting python 3.12.x but this might require more work as this versions breaks a lot of things.

@Millefeuille42
Copy link
Member Author

Changed how dependencies are managed in the separate requirements file.
They are created one per extra along with main dependencies.

This permits to use pip/pip-compile toolchains on every requirements file instead of just requirements.txt. I also added a handy script in .../backend/set_requirements.bash that will create (or update with the -U flag) all requirements files.

This means that we only have to maintain setup.py to add, remove or update dependencies.

@PhilippeAccorsi
Copy link
Collaborator

@Millefeuille42 il me semble que le support de mysql / mariadb n'est plus assuré pour tracim (cf changelog de mémoire). Peut-être qu'il y a des éléments pour lesquel il n'y a plus rien à faire, sauf du ménage backend/requirements-db-mysql.txt .

En tout cas par le passé, j'ai souvenir que l'on avait communiqué sur la fin du support de ce type de bdd.

@Millefeuille42
Copy link
Member Author

Millefeuille42 commented May 21, 2024

Updated all non-breaking dependencies.

Locked version of

  • sqlakeyset, because it's API changed
  • sqlalchemy
  • alembic
  • zope-sqlalchemy
  • rq
  • elasticsearch, because latest versions are not necessarily compatible with the versions of ES we use, and the API changed.

Did the same for dev tools (lint) because rules change when updating and we would have to edit all of our code if we did so.

@Millefeuille42
Copy link
Member Author

An intermediary PR from dafda15 has been created to upgrade python version as soon as possible. (#6495)
This PR is now focused on upgrading the dependencies instead of the python versions. Since it doesn't match it's original issue, a new branch and PR will be created.

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.

None yet

2 participants