-
Notifications
You must be signed in to change notification settings - Fork 58
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
Update requirements to support Django 2.2 #262
Conversation
8ce7712
to
e196af6
Compare
@@ -1,9 +1,9 @@ | |||
# Internationalization and Localization requirements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kaizoku, the version of Django in test_requirements.txt
hasn't been updated to the latest 2.2.x version. Can you check and update that as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't get pip-compile
to run successfully after updating this requirement in test_requirements.in
as it includes base and test requirements from the xblock-sdk, which doesn't support Django 2.2 yet. Should we wait for https://github.com/edx/xblock-sdk to update?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kaizoku, do you know which requirements in the xblock-sdk
repo are causing this issue? If we are using the 0.1.7
release and that has this issue, can you check if this has been fixed in the master
branch after the release? If yes, we can request edX to tag a new release so that we can use it. Otherwise, we should get in touch with edX about this and report this issue as the https://github.com/edx/xblock-sdk/pull/165 PR was for adding Django 2.2 support.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lgp171188 I was testing with master before, but their requirements/base.txt
which problem-builder inherits specifies django==1.11.26
in the PR, and has the same requirement in the current master.
requirements/base.in
specifies Django>=1.11
, but pip-compile sets that to ==1.11.26
for some reason.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I managed to get this working, but I have to upgrade xblock-sdk/requirements/base.in
and the requirement for fs-s3fs
to 0.1.8
in order to fix the issues with resolving six
dependencies.
Should I create a PR for xblock-sdk to update that as well?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kaizoku, yes, please go ahead and create the xblock-sdk
PR. If we can find the right person in edX to ping for this, we can get it reviewed and merged soon. @bradenmacdonald can you tell us who from edX requested us to update problem-builder to support Django 2.2?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kaizoku, I tested the changes in this PR in the workbench and it works okay. Please check my review comment and update the PR to address it.
When updating requirements for open-craft/problem-builder#262, we were unable to get pip-compile to resolve dependencies, as the xblock inherits requirements from xblock-sdk, and there were unresolvable dependencies. This updates the requirements to allow pip-upgrade to work in both xblock-sdk and problem-builder requirements. * Update requirements to fix pip-compile issues * Add constraints to fix Python 2.7 CI * Ignore pylint deprecation warning pylint warns about a deprecated function during quality checks. This function was meant to be deprecated, but python maintainers decided to reverse this decision. https://docs.python.org/3/library/inspect.html#inspect.getfullargspec
Sorry, I lost track of the related xblock-sdk PR. It's now been merged, so you should be clear to continue working on this. We're starting to run the edx-platform test suite under Django 2.x now, all known deprecation warnings and the vast majority of the outdated dependencies have been dealt with. |
6458460
to
0fa6f01
Compare
Any updates on this? We're in the final stretch of fixing edx-platform tests under Django 2.x, and official support for Django 1.11 could end as early as tomorrow. |
@jmbowman yep, working on getting the couple failing tests to pass. Maybe it's due to my unfamiliarity with translations, but there's something about xblock-utils modifying the It's returning a |
@kaizoku, I am not familiar with this issue, but will take a look tomorrow. Btw, as discussed on the task, we should create a new major version release branch and target this PR for that branch. |
Another update: all edx-platform tests are now passing under Django 2.2 (they don't install this XBlock), and we're finalizing the deployment plan. We're going to need this really soon, do you need help with it? |
@lgp171188 Should we update to I narrowed down that the issue is due to how we're patching the xblock runtime in tests.
For those tests, I'm out of time for today, but will get back to this tomorrow. Sorry for the delay @jmbowman. If you do have an idea here it would certainly help, but this is close to ready. We just have to fix these last couple unit tests. |
@kaizoku, that sounds good to me since we have decided to create a new major version to indicate backwards incompatibility due to dropping Python 2 support. |
This change fixes the tests locally for me:
|
@kaizoku The tests aren't flaky, there seem to be genuine bugs preventing them from running. Were you able to run them locally? Since this is blocking edX, I'm OK with merging it now if we fix the integration tests before closing this ticket, and if we have manually verified that problem builder and step builder are working in Studio + LMS with Django 2.2. |
This is now officially the only blocker for deploying edx-platform on Django 2.2, and all the other edx.org services are either already on it or being deployed today. Which makes this also the current blocker for cutting a Juniper release. Anything we can do to help get this over the line? |
@jmbowman, sorry for the delay! We've been working on getting this done asap this since your ping earlier this week. We've had to fix various issues and are down to the last failing integration test. We will be able to merge this PR and tag a new release if we can either fix it or confirm that it is flaky. We have also done a lot of manual testing with this PR on the master devstack and found nothing broken. But the CI checks passing in this PR will be a good confirmation of everything working okay. |
@jmbowman, we noticed that there is now a fork of |
Here's what we're using for django-babel-underscore and enmerkar in edx-platform: https://github.com/edx/edx-platform/blob/master/requirements/edx/github.in#L64-L68 |
@jmbowman, that's exactly the same commit of It looks like we have managed to fix all the CI issues and the current run should likely succeed. Once that is done, I will merge the PR, tag a new release and ping you. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
- I tested this in the workbench and on the master devstack and everything is working fine.
- I read through the code
-
I checked for accessibility issuesNA - Includes documentation
@jmbowman, I have merged this PR to the problem-builder-v4 branch and tagged a new |
Thanks, created the configuration and edx-internal PRs to upgrade it, now creating the edx-platform Django 2.2 upgrade PR. |
This updates problem-builder to support Django 2.2.
JIRA tickets: Implements BB-2061.
Testing instructions:
Author notes and concerns:
Reviewers