Skip to content

Conversation

@itsjeyd
Copy link
Member

@itsjeyd itsjeyd commented Sep 12, 2016

New version includes fixes from openedx-unsupported/xblock-utils#38 and openedx-unsupported/xblock-utils#39.

Follow-up PR for OC-1819 (candidate task).

Also fixes an issue affecting dependency installation for CircleCI builds for problem-builder. See the commit message of 51277a3 for details.

XBlock is listed as a dependency in requirements files for xblock-sdk,
xblock-utils, and problem-builder itself. These files list different (but compatible)
versions of the XBlock repo. Because of that, XBlock gets installed multiple times
when installing dependencies for CircleCI builds.

Starting with setuptools 25.0.0, the behavior for installing packages on top of
existing installs changed; see pypa/setuptools#729
for an example issue that this change in behavior caused.

For problem-builder CI builds, the issue was that after installing all dependencies,
the egg link for XBlock ended up pointing to the installation of problem-builder itself,
creating a situation where the code that ships with XBlock was not accessible from modules
that depend on it. This caused imports for any classes defined in the XBlock repo to fail,
and CircleCI builds errored out.

To fix this, we temporarily pin setuptools to the most recent version
that does not exhibit this behavior (24.3.1).

An upstream fix seems to be underway (via pypa/pip#3904),
but it hasn't been merged/released yet.
@itsjeyd itsjeyd force-pushed the update-xblock-utils branch from 5955397 to 51277a3 Compare September 12, 2016 09:45
override:
- "pip install -U pip wheel setuptools"
- "pip install -U pip wheel"
- "pip install setuptools==24.3.1"
Copy link
Member

Choose a reason for hiding this comment

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

Nit: yml files support comments; can you please add a link here to 51277a3 in case people are wondering why this is pinned and don't do a git blame?

@bradenmacdonald
Copy link
Member

bradenmacdonald commented Sep 12, 2016

Hmm, that setuptools bug looks annoying. Thanks for these fixes, Tim.

👍 if you add the requested comment.

  • I tested this: Installed this on devstack, did pip install -r requirements.txt, then started Studio with NO_PREREQ_INSTALL=1 paver devstack studio --fast and confirmed it worked.
  • I read through the code
  • Includes documentation: Nice explanation in commit message; just needs a link.

You can then feel free to merge.

@itsjeyd
Copy link
Member Author

itsjeyd commented Sep 13, 2016

Thanks @bradenmacdonald! I addressed your nit. Merging now.

@itsjeyd itsjeyd merged commit 1ba7126 into master Sep 13, 2016
@bradenmacdonald bradenmacdonald deleted the update-xblock-utils branch September 19, 2016 03:06
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