The last time we tried this upgrade we encountered timeouts on the quality job, which it now appears were due to the worker running pylint common running out of memory and killing the Jenkins process. Switching to a different worker type with double the RAM (8 GB vs. 4 GB) seems to have fixed this; about 5.5 GB was used. Upstream is aware of the high memory usage on large projects, it's apparently due primarily to a cache of parsed modules: https://github.com/PyCQA/pylint/issues/1495 . Even after disabling some of the new checks that have been added, the new version of pylint found about twice as much to complain about. Just bumping the threshold for now to unblock the Django upgrade, we can try automated utilities like pyupgrade to fix some of these later.
51 lines
3.4 KiB
Plaintext
51 lines
3.4 KiB
Plaintext
# This requirements file is only for python packages that need to be installed
|
|
# for the edx-platform in testing environments. This includes:
|
|
# * Jenkins
|
|
# * devstack
|
|
# Please do not use this file for packages that are needed in production
|
|
#
|
|
# DON'T JUST ADD NEW DEPENDENCIES!!!
|
|
#
|
|
# If you open a pull request that adds a new dependency, you should:
|
|
# * verify that the dependency has a license compatible with AGPLv3
|
|
# * confirm that it has no system requirements beyond what we already install
|
|
# * run "make upgrade" to update the detailed requirements files
|
|
# * add an appropriate pattern to scripts/dependencies/testing.py
|
|
|
|
-c ../constraints.txt
|
|
|
|
-r base.txt # Core edx-platform production dependencies
|
|
-r coverage.txt # Utilities for calculating test coverage
|
|
|
|
beautifulsoup4 # Library for extracting data from HTML and XML files
|
|
bok-choy # Framework for browser automation tests, based on selenium
|
|
code-annotations # Perform code annotation checking, such as for PII annotations
|
|
cssselect # Used to extract HTML fragments via CSS selectors in 2 test cases and pyquery
|
|
ddt # Run a test case multiple times with different input; used in many, many of our tests
|
|
edx-i18n-tools>=0.4.6 # Commands for developers and translators to extract, compile and validate translations
|
|
edx-lint # pylint extensions for Open edX repositories
|
|
factory-boy # Library for creating test fixtures, used in many tests
|
|
# Pinning the freezegun version because 0.3.13 is causing failures which have also been reported on the git repo by public.
|
|
freezegun # Allows tests to mock the output of assorted datetime module functions
|
|
httpretty # Library for mocking HTTP requests, used in many tests
|
|
isort # For checking and fixing the order of imports
|
|
pycodestyle # Checker for compliance with the Python style guide (PEP 8)
|
|
polib # Library for manipulating gettext translation files, used to test paver i18n commands
|
|
pyquery # jQuery-like API for retrieving fragments of HTML and XML files in tests
|
|
pytest # Testing framework
|
|
pytest-attrib # Select tests based on attributes
|
|
pytest-cov # pytest plugin for measuring code coverage
|
|
git+https://github.com/nedbat/coverage_pytest_plugin.git@29de030251471e200ff255eb9e549218cd60e872#egg=coverage_pytest_plugin==0.0
|
|
pytest-django # Django support for pytest
|
|
pytest-json-report # Output json formatted warnings after running pytest
|
|
pytest-randomly # pytest plugin to randomly order tests
|
|
pytest-xdist # Parallel execution of tests on multiple CPU cores or hosts
|
|
radon # Calculates cyclomatic complexity of Python code (code quality utility)
|
|
selenium # Browser automation library, used for acceptance tests
|
|
singledispatch # Backport of functools.singledispatch from Python 3.4+, used in tests of XBlock rendering
|
|
testfixtures # Provides a LogCapture utility used by several tests
|
|
tox # virtualenv management for tests
|
|
tox-battery # Makes tox aware of requirements file changes
|
|
transifex-client # Command-line interface for the Transifex localization service
|
|
unidiff # Required by coverage_pytest_plugin
|