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 Python dependencies #12165

Open
wants to merge 4 commits into
base: release-v0.17.x
Choose a base branch
from

Conversation

rtibbles
Copy link
Member

Summary

  • Upgrades all Python dependencies to the latest version that supports Python 3.6
  • Note that it does not upgrade the Python redis library as far as it could go, because the django-redis-cache library we are using requires a redis version less than 4

References

Because we are still supporting EOL Python versions, we have to do these upgrades manually rather than relying on dependabot

Reviewer guidance

First we check if the tests pass, then a smoke test of the asset is in order, particularly testing Redis caching.


Testing checklist

  • Contributor has fully tested the PR manually
  • If there are any front-end changes, before/after screenshots are included
  • Critical user journeys are covered by Gherkin stories
  • Critical and brittle code paths are covered by unit tests

PR process

  • PR has the correct target branch and milestone
  • PR has 'needs review' or 'work-in-progress' label
  • If PR is ready for review, a reviewer has been added. (Don't use 'Assignees')
  • If this is an important user-facing change, PR or related issue has a 'changelog' label
  • If this includes an internal dependency change, a link to the diff is provided

Reviewer checklist

  • Automated test coverage is satisfactory
  • PR is fully functional
  • PR has been tested for accessibility regressions
  • External dependency files were updated if necessary (yarn and pip)
  • Documentation is updated
  • Contributor is in AUTHORS.md

@github-actions github-actions bot added DEV: backend Python, databases, networking, filesystem... SIZE: small labels May 13, 2024
@rtibbles rtibbles marked this pull request as ready for review May 14, 2024 15:42
Copy link
Member

@marcellamaki marcellamaki left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code read-through here seems fine, but I think some regression testing from the QA team would be very helpful @pcenov @radinamatic. It seems like smoke testing all of the various assets would be the place to start per Richard's notes. Not sure @rtibbles if you have any user workflows that would help with confirming redis-related things are working as expected?

@rtibbles
Copy link
Member Author

The only way to test that would be alongside kolibri-server - failing that, when this is tested in KDP.

@pcenov
Copy link
Member

pcenov commented Jun 13, 2024

Hi @rtibbles sorry but I am still not sure how to properly test this one - could you please provide additional testing guidance?

@rtibbles
Copy link
Member Author

As @marcellamaki mentioned - I think just smoke testing the various assets here is about all that is needed, so just making sure they all start (bar the Mac installer, which we have a separate issue filed for) - and ensuring that you can access Kolibri.

@pcenov
Copy link
Member

pcenov commented Jun 14, 2024

Hi @rtibbles

  1. The Android app is force closing immediately after being launched:

android_logs.zip

  1. Both the .deb and .exe assets can be installed but it's not possible to import a facility and to preview a lesson resource when creating lessons:
lesson.resource.mp4

2024-06-14_14-54-11

ubuntu_logs.zip

@rtibbles
Copy link
Member Author

Seems like this is less straightforward than I had hoped!

@rtibbles
Copy link
Member Author

Hi @pcenov, I have rebased onto the latest develop, which should fix the 500 error you saw in import, and have made a fix for the error I saw in the Android logs!

@pcenov pcenov self-requested a review June 27, 2024 09:23
Copy link
Member

@pcenov pcenov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I confirm that now the Android app can be installed however it takes about 2 minutes to get to the first page of the setup wizard during which the user sees only a blank white screen. Here's the logcat log for that:

logcat.txt

No other regressions observed in both the app and the desktop version of Kolibri.

@rtibbles
Copy link
Member Author

Hrm, interesting - I'm not seeing anything unusual in the logs, my only hunch is that this has added a lot of additional files, causing the unpacking to take longer.

@pcenov
Copy link
Member

pcenov commented Jun 28, 2024

Yeah, sadly that seems to be the case - it just takes a lot of time for the unpacking to happen...

@radinamatic
Copy link
Member

I can confirm this as replicable on my devices too. If there's nothing we can do to speed up the unpacking time, can we at least make sure to have the Kolibri loader instead of the blank screen for the duration? That would be better UX...

@radinamatic
Copy link
Member

Or as we mentioned it with @pcenov, straight-up and explicit Loading... (we have the string).

@rtibbles
Copy link
Member Author

rtibbles commented Jul 1, 2024

Looking at the assets, it looks like we now have two different packages that provide a complete copy of the timezone database, I think this is the cause of the extra files.

I think we can clean this up and only have one of these packages, but it seems simpler to do this after 0.17.0 is released. Bumping this to the first patch milestone instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DEV: backend Python, databases, networking, filesystem... SIZE: small
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants